Ich habe folgendes Schema des:Wie wird das übergeordnete Dokument basierend auf Filialdokumentwerten in Mongoose abgerufen?
var Child = new mongoose.Schema({
'field': String,
'value': String
});
var Parent = new mongoose.Schema({
'name': String,
'children': [ Child ]
});
Ich möchte die Parent
, für die einer der Child
‚s entspricht der folgenden JSON-Objekt zurückgeben:
{ 'field': 'Family Name', 'value': 'Smith' }
ich das versucht habe:
Parent.findOne({ 'children': { 'field': 'Family Name', 'value': 'Smith' } }, fn ...)
aber es wird immer wieder abgerufen null
.
EDIT:
Prüfung durch die Erweiterung Mongo Shell, fand ich heraus, dass die Child
Unterlagen ihrer eigenen _id
‚s haben. Wenn ich das _id
der Abfrage hinzufüge, ruft es das parent
Dokument ab. Jetzt weiß ich nicht im Voraus, was dieses Kind id
sein wird. Also: Wie kann ich es aus der Sub-Dokument-Abfrage entfernen? (Mit anderen Worten, die obige Abfrage sieht buchstäblich für ein Objekt JSON mit nur zwei Eigenschaften, während die Unterdokumente drei haben)
Meine Umgebung ist: Node.js, Mongoose, MongoDB
Wenn Sie das unterordnete Objekt haben, können Sie 'child.parent()' aufrufen. Wenn Sie das nicht tun, dann müssen Sie danach fragen. – tbeseda
Ich habe nicht das "Kind" -Objekt, daher die Abfrage. Aber die Abfrage selbst scheint keine "Eltern" zu holen ... –