$ne-Abfrage funktioniert nicht mit Mungo, aber die Arbeit in mongoshell
Wenn ich diese ausführen Mungo-Abfrage
FinancedProject.find({_id:{$ne:fb.financedProjects.financedProjectId}).exec( callback);
wo fb ist ein Objekt wie dieses
{
_id: ObjectId("54das4da9dsa9d4ad4a9");
name: "some",
financedProjects: [
{registry:"147", financedProjectId:ObjectId("13da4sd4sa48da4dsa")},
{registry:"189", financedProjectId:ObjectId("5d5asd5a4sd5ada5sd")}
]
{
ist das Ergebnis undefiniert und wenn ich es ausführen in der mongoshell die Ergebnisse sind die erwarteten
- Ist das Ergebnis
undefined
oder eine leerearray
? - Undefiniert, und wenn ich auf der mongoose debug auf true, ist es nicht zeigen Sie mir die Abfrage
- Wenn Ergebnis ist undefiniert, wahrscheinlich gab es einen Fehler. Was ist in der err-parameter der callback?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil
financedProjects
ist einarray
Sie haben, um die Adresse des Elements mit[]
wie:EDIT:
Mungo ist JavaScript, also folgt den Regeln von JavaScript.
fb.financedProjects
ist einarray
. Also, wenn Sie den Ausdrucks -fb.financedProjects.financedProjectId
dieser wird ausgewertet, um zuundefined
durch den JavaScript-interpreter, denn es gibt keinefinancedProjectId
Eigenschaft innerhalb des Arrays (arrays haben0
,1
,2
,3
,... als Eigenschaften). Also Mungo nicht bekommen{ $ne: undefined }
und hat keine chance zu erkennen, dass Sie gemeint das EigentumfinancedProjectId
des Arrays Elemente.Zu erreichen, was Sie möchten, können Sie dies tun:
fb
aus (Mungo und shell). Zeigen Sie bitte mehr code.