【问题标题】:How to pull data from deeply nested array in mongodb?如何从 mongodb 中深度嵌套的数组中提取数据?
【发布时间】:2016-04-18 12:21:15
【问题描述】:

您好,我的 mongoose 架构中有深度嵌套的数组。我想从那个深度嵌套的数组中提取记录。任何人都可以帮助编写moongoose查询。我试过这个

var condition = {
                    _id: user,
                    $and: [
                        {
                            'cardInfo.cards': {
                                $elemMatch: {
                                    _id: cardId,
                                    isActive: '0'
                                }
                            }
                        },
                        {
                            'cardInfo.cards': {
                                $elemMatch: {
                                    _id: { $exists: true }
                                }
                            }
                        }
                    ]

                };
 var dataToUpdate = {
      $pull: {'cardInfo.cards': { _id: cardId }}
 };
 var options = {
      lean: true
 }

对于架构,请查看MyAnotherQuestion,并请尝试回答该问题。上面的查询不起作用,但在 mongodb 中,如果我使用 ObjectId 作为cardId,它工作正常

【问题讨论】:

    标签: arrays node.js mongodb mongoose mongodb-query


    【解决方案1】:

    好的,我已经能够解决问题。我所做的只是在选项变量中添加了另一个参数,例如:

    var options = { strict: false, lean: true}
    

    strict: false 是使我的查询工作的参数,我的猫鼬查询是相同的,即

    Customer.update(condition, dataToUpdate , options, anycallback)
    

    是的,它对我有用。

    【讨论】:

      猜你喜欢
      • 2020-11-07
      • 1970-01-01
      • 2019-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-08
      • 2018-03-06
      • 1970-01-01
      相关资源
      最近更新 更多