我有以下mongoose 模式:
user = {
"userId" : "myId",
"connections":
[{
"dateConnectedUnix": 1334567891,
"isActive": true
}, {
"dateConnectedUnix": 1334567893,
"isActive": false
}]
}
我想删除connections
数组中的第二项,以获得以下内容:
user = {
"userId" : "myId",
"connections":
[{
"dateConnectedUnix": 1334567893,
"isActive": false
}]
}
以下代码按预期执行此任务:
userAccounts.update(
{ 'connections.isActive': false },
{ $pull: { 'connections.isActive':false }},
function (err, val) {
console.log(val)
}
);
但是,我需要根据ObjectId删除.下面的说法是行不通的:
userAccounts.update(
{ 'connections._id': '1234-someId-6789' },
{ $pull: { 'connections._id': '1234-someId-6789' } },
function (err, val) {
console.log(val)
}
);
有什么建议吗?我一直把头撞在屏幕上(又名谷歌,Stackoverflow,…)好几个小时都没有运气.