程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了MongoDB - 查询嵌套对象大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决MongoDB - 查询嵌套对象?

开发过程中遇到MongoDB - 查询嵌套对象的问题如何解决?下面主要结合日常开发的经验,给出你关于MongoDB - 查询嵌套对象的解决方法建议,希望对你解决MongoDB - 查询嵌套对象有所启发或帮助;

如何只检索属性存在的类型。

例:

{
    "_ID": 1231333,"cars": {
        "type-123": {
            "attribute": "faster"
        },"type-1234": {
            "attribute": "slow"
        },"type-12345": {
            "attribute": ""
        }
    }
}
@H_502_6@

解决方法

您可以使用带有 $objectToArray$arrayToObject 的聚合查询以编程方式获取所需的值。

您可以使用此查询:

  • $objectToArray 将汽车对象转换为数组以访问该值。
  • $unwind 匹配所需的值(可以使用 $filter)。
  • $group 撤消放松。
  • $arrayToObject 获取初始架构。
db.collection.aggregate({
  "$set": {"cars": {"$objectToArray": "$cars"}}
},{
  "$unwind": "$cars"
},{
  "$match": {"cars.v.attribute": {"$ne": ""}}
},{
  "$group": {
    "_id": "$_id","cars": {"$push": "$cars"}
  }
},{
  "$set": {"cars": {"$arrayToObject": "$cars"}}
})

示例here

大佬总结

以上是大佬教程为你收集整理的MongoDB - 查询嵌套对象全部内容,希望文章能够帮你解决MongoDB - 查询嵌套对象所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:-