在mongodb中删除数组中的一个数组

4

在我的Mongo集合中,我有一个名为"institution.type"的嵌套变量。这是一个包含以下元素的数组:

db.collection.distinct("institution.type") 
[
null,
[
    "boarding"
],
"virtual"
]

我正在尝试删除带有“boarding”元素的条目,但由于boarding本身在一个数组中(在使用“$push”向数组添加元素时最初犯了一个错误),因此我陷入了困境。
我尝试了以下方法来查找文档:
db.collection.find({"institution.type":{ $in: ["boarding"]}}).count()
0

并且
db.collection.update({"institution.id":"somenumber"}, {$pull:   {"institution.type.1":"boarding"}})
"type" : [
        "virtual",
        [ ]
         ]

如何在不出现“JavaScript执行失败: SyntaxError: Unexpected identifier”错误的情况下删除括号以及“boarding”标签?
非常感谢您的建议和帮助!
1个回答

1
要找到带有登机子数组的项,您必须使用双括号,如下所示...
db.collection.find({"institution.type": {$in: [["boarding"]]}})

将项目取出,请执行以下操作:

db.collection.update({"institution.type": {$in: [["boarding"]]}}, {$pull: {"institution.type": ["boarding"]}})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接