可以通过以下步骤实现:
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
todos: [
{
title: String,
completed: Boolean
}
]
});
const User = mongoose.model('User', userSchema);
User.findOneAndUpdate(
{ _id: userId }, // 查询条件,可以根据需要修改
{ $set: { 'todos.0.completed': true } }, // 更新操作
{ new: true } // 选项,返回更新后的文档
)
.then(updatedUser => {
console.log(updatedUser);
})
.catch(error => {
console.log(error);
});
在上面的代码中,'todos.0.completed'表示todos数组中的第一个元素的completed字段。
这是一个使用moogoose更新嵌套数组中的值的基本示例。根据具体的业务需求,你可以根据moogoose的文档和API进行更复杂的操作。
领取专属 10元无门槛券
手把手带您无忧上云