gpt4 book ai didi

mongodb - 没有重复的 Mongoose 数组推送

转载 作者:可可西里 更新时间:2023-11-01 10:00:31 25 4
gpt4 key购买 nike

我使用以下 update 命令来建模:

Room.update({_id: roomId, status: 'live'}, {$push: {"users" : {_id: user._id, loginName: user.loginName}}}, {}, function(err, room) {

型号:

{
_id: "56c0d9e332f6ddc80ec7271c",
name: "Reqqqq2",
creator: "MegaDaddgy",
status: "live",
__v: 0,
users: [
{
_id: "56c0a986eeb118741109a45f",
loginName: "MegaDaddgy"
},
{
_id: "56bf96f56a0c220812f055e6",
loginName: "Maad"
}
]
}

我不想向用户添加重复字段,我该怎么做?

最佳答案

$addToSet可以防止 users

中出现重复条目
Room.update(
{_id: roomId, status: 'live'},
{$addToSet:
{"users" : {_id: user._id, loginName: user.loginName}}}, function(err, room) {

另一种方法可以通过 $ne 完成,与下面评论中提到的 Blakes 相同

Room.update({ "_id": roomId, "status": "live", "users._id": { "$ne": user._id } }, { "$push": { "users": { "_id": user._id, "loginName": user.name } } })

关于mongodb - 没有重复的 Mongoose 数组推送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35399163/

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