【问题标题】:mongodb: delete object within an array, nested within two objectsmongodb:删除数组中的对象,嵌套在两个对象中
【发布时间】:2017-03-11 16:09:26
【问题描述】:

我正在尝试删除数组中的一个对象。但是该数组嵌套在两个对象中。我该怎么做?

例如:假设我想删除交易 _id: 58c3154a19f82c0ddc53f0de

我该怎么做??

{
    "_id": {
        "$oid": "58bad6cf93ab9703da331e25"
    },
    "username": "david.lam@transfast.com",
    "password": "sha1$fc05ad7d$1$1cc86a287642516f947fda520ae8ddd42e983e23",
    "firstName": "David",
    "lastName": "David",
    "transactions": {
        "2017": {
            "3": [
                {
                    "where": "Duane Reade",
                    "what": "asdf",
                    "category": 6,
                    "amount": "34",
                    "_id": {
                        "$oid": "58c300ef1602f90c7166cbfb"
                    },
                    "date": {
                        "day": 10,
                        "month": 3,
                        "year": 2017
                    }
                },
                {
                    "where": "Amazon",
                    "what": "asdf",
                    "category": 2,
                    "amount": "100",
                    "_id": {
                        "$oid": "58c3154a19f82c0ddc53f0de"
                    },
                    "date": {
                        "day": 10,
                        "month": 3,
                        "year": 2017
                    }
                }
            ]
        }
    }
}

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    为此,您需要使用$pull 运算符。使用点符号寻址数组元素。以下查询完成了这项工作:

    db.user1.update({},
        {$pull: {'transactions.2017.3': {_id: ObjectId("58c3154a19f82c0ddc53f0de")}}
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-03
      • 2021-04-19
      • 1970-01-01
      • 2020-12-20
      • 2019-04-30
      • 2020-08-02
      • 2021-12-28
      • 1970-01-01
      相关资源
      最近更新 更多