我最近的项目遇到了与此问题相同的问题:问题
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 ×1