Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 删除集合mongo db中数组内的对象_Mongodb_Bson - Fatal编程技术网

Mongodb 删除集合mongo db中数组内的对象

Mongodb 删除集合mongo db中数组内的对象,mongodb,bson,Mongodb,Bson,我的mongodb中有一个集合名dbapp。下面是一个文档,我想删除widget中的widget对象。我很难创建mongodb命令脚本。感谢您的帮助。谢谢 db.dbapp.insert( { "tenantid": 16, "id": 0, "default": true, "widgets": [ { "_id": new ObjectId(),

我的mongodb中有一个集合名dbapp。下面是一个文档,我想删除widget中的widget对象。我很难创建mongodb命令脚本。感谢您的帮助。谢谢

  db.dbapp.insert(
    {
        "tenantid": 16,
        "id": 0,
        "default": true,
        "widgets": [
            {
                "_id": new ObjectId(),
                "position": 1,
                "type": 1,
                "class": "green",
                "metricid": 5
            },
            {
                "_id": new ObjectId(),
                "position": 2,
                "type": 1,
                "class": "blue",
                "metricid": 6
            },
            {
                "_id": new ObjectId(),
                "position": 3,
                "type": 2,
                "class": "normal",
                "metricid": 1
            },
            {
                "_id": new ObjectId(),
                "position": 4,
                "type": 2,
                "class": "normal",
                "metricid": 2
            },
            {
                "_id": new ObjectId(),
                "position": 5,
                "type": 2,
                "class": "normal",
                "metricid": 3
            }
        ],
        "settings": {
            "appid": 0,
            "appname": "default"
        }
    });

您可能需要使用运算符$pull。

例如:

db.dbapp.update(
    { "id": 0 },
    { $pull: { widgets: { position: 1 } } }
)
将删除第一个小部件