难以按嵌套文档中的日期字段查询文档

时间:2018-08-28 22:22:28

标签: mongodb mongodb-query mongo-shell

MongoShell 3.6 +

我有一个包含多个嵌套文档的文档,这些文档的某些名称不是固定的,而是动态的,因此以下查询模式“ field1.field2.field3”可能不适用于所有文档,因为我不知道确切的名称对于field2:“ field1。?。field3”,因为它们不同。

我尝试了不同的方法,但均未成功。目的是为所有'endDate'超过3个月的子文档提取_id。

对此表示任何帮助。

在下面发布的json内,我添加了“?”表示该子文档事先未知。

注意:如果我使用例如 accountBalances.Iusacell_Prepaid_UC.quotas.Iusacell_onetime_Quota.credits._PlIUsNnJEee6aJBYcxiwDQ.endDate ,它确实可以正常工作,但很遗憾仅用于那种类型的文档,而我实际上拥有数百万个我以前不知道的东西。

{ 
"_id" : "xxxxxxxxxxxx", 
"accountBalances" : {
    "Iusacell_Prepaid_UC" : {             ?
        "quotas" : {
            "Iusacell_onetime_Quota" : {   ?
                "credits" : {
                    "_PlIUsNnJEee6aJBYcxiwDQ" : ? {
                        "startDate" : ISODate("2017-12-05T14:33:21.175+0000"), 
                        "debits" : {
                            "consolidated" : {
                                "creationDate" : ISODate("2017-12-05T14:46:25.123+0000"), 
                                "debitAmount" : "330190897.00000000000000000", 
                                "debitId" : "consolidated"
                            }
                        }, 
                        "endDate" : ISODate("2017-12-26T14:35:17.000+0000"), 
                        "creditId" : "_PlIUsNnJEee6aJBYcxiwDQ", 
                        "creditAmount" : "1073741824.00000000000000000", 
                        "started" : true

0 个答案:

没有答案