在我有一個蒙戈架構,看起來像這樣:
{
"_id" : ObjectId("58e4222497b2735ba3cd9ec4"),
"place" : "",
"plant" : "Test1",
"eventDate" : ISODate("2017-04-05T00:00:00Z"),
"event" : "Test123",
"toBeTested" : [
{
"_id" : ObjectId("58e453a07c9f94702ebac93d"),
"thingsTested" : [
"A1",
"A2",
"A3"
]
}
]}
我用貓鼬刪除的thingsTested
一個元素。我的貓鼬的代碼是:
Layout
.update(
{_id: req.params.parentid},
{$pull: {toBeTested: {thingsTested: 'A3'}}},
function (err, docs){
if (err) {
res.send(err);
}
res.json(docs);
}
);
正如你所看到的,我硬編碼,我想從thingsTested
集中刪除A3
。但是,展出的行爲是所有thingsTested
正在被刪除。
作爲後續問題,我怎麼能確保貓鼬命令僅在thingsTested
消除A3
與58e453a07c9f94702ebac93d
(子ID)的_id
?
謝謝!
的可能的複製[MongoDB的拉帶位置操作] (http://stackoverflow.com/questions/26319733/mongodb-pull-with-positional-operator) – Veeram
羅,使用位置操作者,這將是不正確的。 – ChemicalRocketeer