如何使用MongoDB查询将所有记录集推入一个数组中

问题描述 投票:0回答:1

我需要在执行mongoDB查询时将所有记录放入一个数组中。我在下面解释我的查询。

db.getCollection('orders').aggregate([
    {
        $match: {"Customer.StoreCode":"CMHB"}
    },
    {
        $group: {_id : "$Customer.CustomerMobile", "data" : {"$first" : "$$ROOT"}}
    },
    {
        $project: {
            OrderNumber:"$data.OrderNumber",
            OrderStatus:"$data.OrderStatus",
            OrderType:"$data.OrderType",
            CreatedAt:"$data.CreatedAt",
            CustomerMobile: "$data.Customer.CustomerMobile",
            CustomerLastName:"$data.Customer.CustomerLastName",
            CustomerFirstName:"$data.Customer.CustomerFirstName",
            StoreCode:"$data.Customer.StoreCode",
            TransactionId:"$data.PaymentDetails.TransactionId",
            PaymentStatus:"$data.PaymentDetails.PaymentStatus",
            PaymentAmount:"$data.PaymentDetails.PaymentAmount",
            ItemNos: { $cond: { if: { $isArray: "$data.Products" }, then: { $size: "$data.Products" }, else: "NA"} }
        }
    }
])

在这里,我得到了一些根据商店代码和手机号的记录。在这里,我需要使用同一查询将所有记录放入一个数组。

arrays mongodb
1个回答
0
投票

MongoDB具有toArray()函数,您可以执行此操作

db.getCollection().toArray();

https://docs.mongodb.com/manual/reference/method/cursor.toArray/

© www.soinside.com 2019 - 2024. All rights reserved.