gpt4 book ai didi

node.js - 如果数组存在,如何调用 $addToSet,如果数组不存在,则如何在一个查询中调用 $set?

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:29 25 4
gpt4 key购买 nike

嘿,我正在尝试设置一个 mongodb 文档中不存在的新数组,但我希望能够将其他文档放入该数组中,而无需不断替换值。

例如:

users {
id: 'value1',
name: {value2},
friends: [
{friendID: 'value x', type: 'valuey', TAGS: [tag1, tag2]}

]

基本上 TAGS 不存在,我想创建它并添加 tag1,如果存在,我只想将 tag2 添加到数组中...

这是为了理解上面示例中的变量与我数据库中的变量的意义:

friendStatus = friends,
fuId = friendID,
labels = TAGS

这是我的尝试:

Friend.findOneAndUpdate({userId: mongoose.Types.ObjectId(req.signedCookies.userid), 
'friendStatus.fuId': mongoose.Types.ObjectId(req.body.user)},
{$addToSet: {'friendStatus.$.labels': req.body.labelNew}}
, function(err, userX) {


}

最佳答案

目前无法使用 MongoDB 更新语法来完成您想要的操作。

这里有一个功能可以实现类似的功能:https://jira.mongodb.org/browse/SERVER-6566

关于node.js - 如果数组存在,如何调用 $addToSet,如果数组不存在,则如何在一个查询中调用 $set?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18195228/

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