我有这个猫鼬模式
{
id: mongoose.Schema.Types.ObjectId,
name: String,
initialMailSended: Boolean,
email: String,
users: [{
id: mongoose.Schema.Types.ObjectId,
name: String,
surname: String,
email: String,
signedUp: Boolean,
company: String,
email: String,
attending: String,
accomod: String,
program: String,
food: String,
other: String,
allFood: String,
form: [{
name: String,
value: String,
}]
}]
}
我需要做的是编写一个猫鼬查询,该查询通过id查找此对象,并在此对象中找到用户并对其进行更新。 我尝试了各种查询,但没有找到任何可行的方法。
答案 0 :(得分:0)
对于您的问题,您可以像这样更新用户
db.getCollection('collection').findOneAndUpdate(
{
_id:ObjectId("5cb19dbc85fdcb7868400107"), // collection id
'users._id':ObjectId("5cb19dbc85fdcb7868400185") // user id inside collection
},
{$set: {'users.$.name': 'new value'}} // set name field
)