Node.js 正在更新MongoDB中集合内的对象
我有此文档,我想将Node.js 正在更新MongoDB中集合内的对象,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我有此文档,我想将messageId:2的状态更改为read { conversationId: 1, message: [ { text: 'Hello World', userForm: { userId: 1 }, userTo: [ { messageId:
messageId:2的状态更改为read
{
conversationId: 1,
message: [
{
text: 'Hello World',
userForm: {
userId: 1
},
userTo: [
{
messageId: 1,
userId: 1,
status: 'owner'
},
{
messageId: 2,
userId: 2,
status: 'not read'
}
]
},
{
text: 'Hello World',
userForm: {
userId: 1
},
userTo: [
{
messageId: 3,
userId: 1,
status: 'owner'
},
{
messageId: 4,
userId: 2,
status: 'not read'
}
]
}
]
}
我尝试过使用updateOne()
,但没有成功
在MongoDB中查询子文档方面我还是新手。有人能帮我吗?我尝试以下方法:conversationSchema.update({“messages.userTo.messageId”:2,“messages.userTo.userId”:2},{“$set”:{“messages.$.userTo.$.status”:“read”},null,函数(err){console.log(err)});您可以使用mongoose模型方法findOneAndUpdate
我尝试了以下方法:conversationSchema.update({“messages.userTo.messageId”:2,“messages.userTo.userId”:2},{“$set”:{“messages.$.userTo.$.status”:“read”}},null,函数(err){console.log(err)};您可以使用mongoose模型方法findOneAndUpdate