给出mongoose架构
var SomeSchema = new Schema({
// ...
members: [
{
name: String,
username: String
}
]
});
从我的代码中我想将对象推送到members
,但前提是数组中没有给定的用户名。我怎么能用猫鼬做到这一点?
答案 0 :(得分:29)
您可以在更新查询的条件部分中检查用户名:
var conditions = {
_id: id,
'members.username': { $ne: 'something' }
};
var update = {
$addToSet: { members: { name: 'something', username: 'something' } }
}
SomeModel.findOneAndUpdate(conditions, update, function(err, doc) {
...
});