Si está utilizando Node.JS, me gusta construir una página API que maneje la consulta. Luego uso mi controlador para decir, oye, cuando buscan esto, vaya a la API para obtener los resultados y enviarlos de vuelta. Así que esencialmente su configuración es la siguiente:
Ruta del lado del servidor:
Nota: Estoy acostumbrado a usar la secuencia, no recuerdo cómo configurar correctamente una consulta mongo, lo siento: P.
- Cómo compartir tus publicaciones de blog
- Cómo aprender a construir sistemas escalables como Twitter, FB y LinkedIn
- ¿Por qué las funciones de matriz de JavaScript se nombran como son?
- Sistema de nombres de dominio (DNS): ¿Cuáles son las diferencias entre https://www.example.com y https://example.com?
- Para crear una aplicación web para escalar a millones de usuarios que comparten millones de fotos y textos y chatean entre sí todos los días, ¿cuál sería el mejor marco de idiomas para elegir?
función searchQuery (consulta, respuesta) {
mongoDB (consulta)
.success (function (resultados) {
respuesta (resultados)
})
}
functions.apiSearch = function (req, res) {
searchQuery (query, function (queryResponse) {
json.res (queryResponse)
})
}
Controlador:
función queryMongo (searchTerm, resultados) {
$ .get (‘/ apiSearch / searchTerm /’, function (json) {
// usa los resultados sin embargo
})
}
Luego, en su controlador, simplemente pasa la función anterior en el ámbito $ y la vincula al elemento que realiza la búsqueda. Algo como esto:
searchCtrl.controller (‘search’, [‘$ scope’, ‘$ timeout’, function ($ scope, $ timeout) {
$ scope.search = function () {
queryMongo (searchTerm, function (searchResults) {
$ timeout (function () {
$ scope.searchResults = searchResults;
})
});
}])
El tiempo de espera es necesario porque angular continuará la ejecución sin una respuesta de devolución de llamada.
Una vez que tenga los resultados, puede hacer que el controlador vuelva a procesar la página sin actualizar y las respuestas JSON de Node son súper rápidas.
Espero que ayude 😛