我有以下的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)
}
);
有任何建议吗?我已经在屏幕前(即Google,Stackoverflow等)苦苦思索了几个小时,但没有任何进展。