簡體   English   中英

MongoDB:如何查詢集合的所有子文檔

[英]MongoDB: How to query all subdocuments of a collection

我有集合users ,每個用戶對象都有一個稱為purchases的字段,它是對象的數組。 用戶對象如下所示:

User:
{
    ...
    purchases: [
        { time: 2355645366, amount: 2000 },
        { time: 2456456334, amount: 2000 },
        { time: 2435645433, amount: 2000 },
    ]
}

如何查詢所有用戶之間的所有購買交易以及如何按time例如time字段進行排序? 我期望的結果將是購買對象的數組。

您可以使用聚合操作,這對於這種情況非常方便

db.users.aggregate({$unwind: '$purchases'},{$sort: {'purchases.time': 1}},{$group: {_id: 0, 'purchases': {$push: '$purchases'}}})

返回的文檔將具有以下結構:

{ "_id" : 0, "purchases" : [...all users purchases sorted by time here...]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM