gpt4 book ai didi

javascript - MongoDB, Mongoose ,更新数组内的对象

转载 作者:行者123 更新时间:2023-11-30 14:09:52 26 4
gpt4 key购买 nike

我有以下 MongoDB 模型:

const Relation = mongoose.model('Relation',{
name :{
type: String,
},

port:{
type: Number,
},
services: { type : Array , "default" : [] }
});

每个端口都是每个文档的唯一编号。集合可以具有以下值:

{
"port":"116", //unique number
"name":"xzy",
services: [
{"id":'1', "trust":"good"},
{"id":'2', "trust":"bad"},
]
}

例如,对于“id”= 1 的对象,如何使“信任”值“坏”??

我假设我应该首先找到与端口号“116”匹配的集合,然后在服务数组中找到“id”为 1 的对象。我怎样才能在 Mongoose 中做到这一点?

最佳答案

您可以使用 $ positional operator更新数组中的值

Relation.findOneAndUpdate(
{ "port": "116", "services.id": "1" },
{ "$set": { "services.$.trust": "bad" }}
)

关于javascript - MongoDB, Mongoose ,更新数组内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54687734/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com