相关疑难解决方法(0)

在upsert上更新时,mongodb $ addToSet到非数组字段

我最近的项目遇到了与此问题相同的问题:问题

db.test.update(
    {name:"abc123", "config.a":1  }, 
    {$addToSet:{ config:{a:1,b:2} } }, 
    true 
)
Run Code Online (Sandbox Code Playgroud)

会产生这样的错误:

无法将$ addToSet应用于非数组字段

但改成后:

db.test.update(
    {name:"abc123", "config.a":{$in:[1]}  }, 
    {$addToSet:{ config:{a:1,b:2} } }, 
    true 
)
Run Code Online (Sandbox Code Playgroud)

它工作正常.

还引用了这个链接:答案

任何人都可以解释发生了什么吗?"config.a":1会将config变为对象吗?当"config.a":{$于:[1]}不会呢?

mongodb

7
推荐指数
2
解决办法
7611
查看次数

标签 统计

mongodb ×1