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