欄位是另一個欄位兩倍的行以示例說明:
{id : 1 , price : 10 , spent : 5}
{id : 1 , price : 20 , spent : 30}
{id : 1 , price : 40 , spent : 90}
{id : 1 , price : 80 , spent : 200}
我想要花費等于或大于兩倍價格的行(花費> = 2 *價格)
結果 :
{id : 1 , price : 40 , spent : 90}
==> (花費 >= 2價格)[90>80]*
{id : 1 , price : 80 , spent : 200}
==> (花費 >= 2價格)[160>200]*
請參考建議,除了使用$where
我的 mongo 集群有使用$where的限制
( MongoError: $where is not allowed in this atlas tier )
uj5u.com熱心網友回復:
MongoDB 檔案中的示例非常好。
有一個地方Reference
有所有的操作員。
如果你還沒有找到它,也許試試下面的方法,我認為這就是你需要的。
詢問
- 我們可以參考該領域
$fieldName
- 并使用 gt/multiply 運算子
- finally
$expr
在我們使用聚合運算子(而不是查詢運算子)時用于匹配,就像我們在這里所做的那樣
玩蒙哥
aggregate(
[{"$match": {"$expr": {"$gt": ["$spent", {"$multiply": [2, "$price"]}]}}}])
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/470267.html
標籤:javascript 节点.js mongodb 猫鼬 mongodb查询
上一篇:如何使用pre("findOneAndUpdate")更新Bcrypt密碼
下一篇:貓鼬findOne和$push