「secondArray」にはネストされた要素構造があるため、位置$
を使用する場合は、クエリで照合する外部要素を特定する必要があります。 更新の演算子。基本的に次のようなものが必要です:
bulk.find({
"_id": new mongo.ObjectID(req.session._id),
"secondArray._id": "7423"
}).update({
"$pull": {
"firstArray": { "_id": "153" },
"secondArray.$.firstArrayIds": 153
}
});
したがって、実際には、一般的なドキュメントIDに加えて、リクエストで渡す必要のある「2つの」ID値があります。これはネストされていますが、「外部」レベルと1つの配列でのみ一致しているため、問題ありません。複数の配列の位置を一致させようとした場合、これは位置演算子では不可能です。