mangouste node.js requête avec $lt et $gt ne fonctionne pas
Je veux obtenir tous les élèves dont la dernière marque est entre 15 et 20. Pour ce faire, j'ai effectuer la requête suivante dans mon mongoDB à l'aide de la mangouste:
Les modèles fonctionnent très bien (toutes les autres requêtes sont ok).
Pupils.find({"marks[-1].value": {'$lt' : 20 }, "marks[-1].value" : { '$gt' : 15 }}, function(err, things){
Ce n'est pas de travail, il ya quelque chose que j'ai raté ?
* Mise à JOUR *
J'ai trouvé quelque chose comme:
Pupils.find({ "marks[-1].value": {$gt : 15, $lt : 20}});
Mais cela ne fonctionne pas non plus. Est-il un moyen pour obtenir la dernière marque de la marque de tableau dans ce cas ?
Vous devez vous connecter pour publier un commentaire.
Permet de tenir compte de votre
Pupils
collection:Je suggère d'ajouter la dernière marque à l'Élève le document(comme vous pouvez le voir sur le document ci-dessus), et mise à jour à chaque fois lorsque vous ajoutez la nouvelle marque de collection imbriquées.
Ensuite, vous serez en mesure de requête comme ceci:
Aussi, vous pouvez interroger la dernière marque à l'aide de $où, mais attention parce que:
Je crois qu'il ne fonctionne pas parce que l'embedded collections dans les mongo sont accessibles comme ceci:
"les marques.0.valeur", bien que je n'ai pas utilisé la mangouste.
Malheureusement pour votre scénario, je ne pense pas qu'il y est un moyen d'utiliser le négatif de l'indexation. (Mongo n'est pas une garantie d'un naturel préservé commande, sauf si vous utilisez un plafonné collection de toute façon si)
Vous pouvez être en mesure d'accomplir cette utilisation de la Carte/réduction ou d'un groupe de commande
http://www.mongodb.org/display/DOCS/MapReduce
C'est la pointe de la réponse.
D'utiliser des guillemets pour les spéciales mots-clés comme $elemMatch, $get, $lt etc tout en utilisant mangoose.
Dans le code suivant,$gt sera pas de travail correctement.
Mais ce problème est résolu quand je suis en utilisant guillemets pour les mots-clés spéciales
J'espère que ce sera utile.