我在 mongodb 中使用批量操作。我有一种情况,如果不满足条件,我需要将对象推送到数组字段中。
configs
在这里,如果该匹配项中没有项目itype
和prefix
,那么它应该将对象推入configs
。我怎样才能做到这一点?
//! Find and push if document found but item does not exist.
orderedBulkOP.find({
"cid": newConfig.cid,
"username": newConfig.username,
"configs": {
$elemMatch: {
"itype": newConfig.itype, "prefix": newConfig.prefix
}
}
}).update({
$push: {
"configs": {
"itype": newConfig.itype,
"prefix": newConfig.prefix,
"count": 0,
"createdAt": new Date().toISOString()
}
}
});
架构是这样的:
{
id: String,
uniqid: String,
cid: String,
username: String,
configs: [{
createdAt: Date,
itype: String,
prefix: String,
count: Number
}
]
}