gpt4 book ai didi

mongodb - 避免 push/addToSet 空值到 mongodb 数组

转载 作者:行者123 更新时间:2023-12-05 05:24:44 27 4
gpt4 key购买 nike

当在 mongoose 中使用 $push$addToSet 运算符时,我给的值 (friend.id) 是 null undefined,它将向数组推送一个 null 元素。

dbUser.findByIdAndUpdate(
_id,
{
$addToSet: {
'friendsBlackList': friendB.id ,
'FriendsWhiteList': friendW.id ,
},
},
{ new: true, upsert: true }
});

如何避免压入空元素?可以在mongoose schema中控制吗?感谢您的建议。

最佳答案

我不熟悉 Mongoose 及其语法,但是您的描述可以使用以下伪代码完成:

var update = { $addToSet:{}};
if(friendB.id !=null){
update.$addToSet.friendsBlackList = friendB.id
}
if(friendW.id !=null){
update.$addToSet.friendsWhiteList = friendW.id
}

dbUser.findByIdAndUpdate(_id,update,{ new: true, upsert: true });

某些驱动程序(即 Morphia)具有您可以设置为忽略 null 和空值的选项。您应该检查 Mongoose 是否也有这样的选项。

关于mongodb - 避免 push/addToSet 空值到 mongodb 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33907021/

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