簡體   English   中英

MongoDB 如何使用 C# 驅動程序在一個查詢中進行多個聚合?

[英]MongoDB how to do multiple aggregations in one query with C# driver?

我的數據模型如下所示:

{
    "ListingId": 1,
    "Status": "Current",
    "Category": "Rental"
}

我有大約 500 萬個文檔,並且希望在“狀態”和“類別”字段上運行聚合,因此我可以生成如下輸出:

{
   "Statuses": 
   {
      "Current": 100, // count of all documents with 'Status' = 'Current'
      "Sold": 12 // count of all documents with 'Status' = 'Sold'
      // etc
   },
   "Categories": 
   {
      "Sale": 120,
      "Rental": 12
      // etc
   }
}

基本上,我想返回數據以支持“分面搜索”用戶界面,因此我需要所有方面的計數,並且我想在一次 MongoDB 之旅中完成。

我已經閱讀了一天左右的聚合和構面,但我仍然感到困惑。

問題:

  1. 鑒於我的場景和集合大小,我應該在這里使用什么? 方面還是聚合?
  2. 我如何在最新的 C# 驅動程序中做到這一點?

相關問題(我無法轉換為我的情況/代碼):

您可以通過如下聚合以稍微不同的方式獲取這些數據。 在我的屏幕截圖中嘗試如下面的代碼。 如果需要更多幫助,請告訴我。

多面結果

您可以導出相同的管道並將其放入您的 c# 代碼中。

暫無
暫無

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

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