我无法访问mongodb集合中的嵌套文档数组

时间:2019-04-15 20:29:13

标签: arrays mongodb nested document

我在MongoDB中有一个集合,其中包含一个字段,该字段是一个文档数组。我需要访问文档中的每个字段,但无法使其正常工作。

我有一个名为“交易”的集合。这是集合中数据的示例:

{ "_id" : ObjectId("5cb02d3c65a86045bc690d43"), "InvoiceNo" : 536366, "Customer_ID" : 17850, "Date" : 40513, "Planet" : "Abydos", "Purchase" : "[{'ItemNo': 22633, 'UnitPrice': 1.85, 'Description': u'BRAWNDO', 'Quantity': 6}, {'ItemNo': 22632, 'UnitPrice': 1.85, 'Description': u'HAND WARMER RED POLKA DOT', 'Quantity': 6}]" }

我正在尝试访问Purchase数组中的字段。

这是交易记录中的一张发票。

{ "_id" : ObjectId("5cb02d3c65a86045bc690d43"), "InvoiceNo" : 536366, "Customer_ID" : 17850, "Date" : 40513, "Planet" : "Abydos", "Purchase" : "[{'ItemNo': 22633, 'UnitPrice': 1.85, 'Description': u'BRAWNDO', 'Quantity': 6}, {'ItemNo': 22632, 'UnitPrice': 1.85, 'Description': u'HAND WARMER RED POLKA DOT', 'Quantity': 6}]" }

这是我到目前为止尝试过的:

db.transactions.find( {"Purchase":{"ItemNo":"22633"}})
db.transactions.find( {"Purchase":{"UnitPrice":1.85}})
db.transactions.find({'Purchase.Quantity':{$lt:37}})
db.transactions.find({'Purchase.UnitPrice':{$lte:3.82}})
db.transactions.find({'Purchase.UnitPrice':{$elemMatch:{$in:1.85}}})

由于我正在查询在事务集合中看到的数据,因此我希望上述查询返回数据。该代码运行,但不返回数据。

0 个答案:

没有答案