我有一個檔案集合,其中欄位名稱似乎有一個點:
{
"prod_id": "123",
"prod_cost (whole)": 49
"prod_cost (dec.)": 49
}
如何使用該欄位有效地運行聚合管道?
截至目前,它報告空值,因為它將“)”視為“prod_cost (dec.)”的附加嵌套欄位。
uj5u.com熱心網友回復:
從MongoDB 版本 5開始,
MongoDB 5.0 改進了對在欄位名稱中使用 ($) 和 (.) 的支持。有一些限制。有關詳細資訊,請參閱欄位名稱注意事項。
帶句點 (.) 和美元符號 ($) 的欄位名稱
在大多數情況下,無法直接訪問使用此類欄位名稱存盤的資料。您需要在訪問這些欄位的查詢中使用 $getField、$setField 和 $literal 等輔助方法。
{ "$getField": "prod_cost (dec.)" }
示例 MongoPlayground
要訪問物件中的欄位,您可以參考查詢子檔案中的欄位演示。
{
"$getField": {
field: {
$literal: "prod_cost (dec.)"
},
input: "$productInfo"
}
}
示例 Mongo Playground(嵌套物件)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/457729.html
上一篇:如何將資料從狀態映射到組件道具?
下一篇:Nodejs分頁的一個錯誤
