gpt4 book ai didi

arrays - 使用 $addToSet Mongo 运算符添加多个值

转载 作者:IT老高 更新时间:2023-10-28 13:04:31 25 4
gpt4 key购买 nike

$addToSet operator 仅当值不在数组中时才将值添加到数组中。如果值在数组中,$addToSet 不会修改数组。

我想插入两个不应通过一个请求重复的值。这可能吗?

我试图将一个数组传递给 $addToSet 运算符,但它插入了一个数组而不是该数组中的每个值。

$ mongo test
MongoDB shell version: 2.4.9
connecting to: test
> db.c.insert({a: [1, 2, 3]})
> db.c.find()
{ "_id" : ObjectId("53511a255a82cd559393d840"), "a" : [ 1, 2, 3 ] }
> db.c.update({}, {$addToSet: {a: [2, 4]}})
> db.c.find()
{ "_id" : ObjectId("53511a255a82cd559393d840"), "a" : [ 1, 2, 3, [ 2, 4 ] ] }

最佳答案

来自 the docs for $addToSet :

If the value is an array, $addToSet appends the whole array as a single element. To add each element of the value separately, use $addToSet with the $each modifier. See Modifiers for details.

所以你应该改用这个:

db.c.update({}, {$addToSet: {a: {$each: [2, 4]}}})

关于arrays - 使用 $addToSet Mongo 运算符添加多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23154217/

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