次のスキーマがあります。
var Child = new mongoose.Schema({
'field': String,
'value': String
});
var Parent = new mongoose.Schema({
'name': String,
'children': [ Child ]
});
次の JSON オブジェクトに対応する のParent
を返したい:Child
{ 'field': 'Family Name', 'value': 'Smith' }
私はこれを試しました:
Parent.findOne({ 'children': { 'field': 'Family Name', 'value': 'Smith' } }, fn ...)
しかし、それは取得し続けnull
ます。
編集:
Mongo シェル拡張でテストしたところ、Child
サブドキュメントに独自_id
の があることがわかりました。それをクエリに追加すると_id
、ドキュメントがフェッチされparent
ます。さて、その子がどうなるかは前もってわかりませんid
。では、サブドキュメント クエリから削除するにはどうすればよいでしょうか。(つまり、上記のクエリは文字通り 2 つのプロパティのみを持つ JSON オブジェクトを探しますが、サブドキュメントには 3 つのプロパティがあります)
私の環境は: Node.js、Mongoose、MongoDB