2017-02-24 50 views
-3

我與模式的蒙戈數據庫:我與模式的蒙戈數據庫:{「字段1」:「字符串1」,「字段2」:NUM2,「字段3」:NUM3}

{ 

"field1" : "string1", 
"field2" : num2, 
"field3" : num3 

} 

如何我是否找到具有相同值field2field2的所有文檔,但field3的值是否相差15%?

我的代碼看起來是這樣的:

db.collection.aggregate({ 
$group : { 
_id : {"&field1" , "$field2"} 
    } 
}) 

db.collection.find({$match: "$field3:0}) 
+0

到目前爲止您嘗試過什麼?請編輯您的問題,以顯示您嘗試了哪些查詢/查詢以及您卡在哪裏。 –

回答

0

假設您的Field 1和期望值場2是在關係/ SQL sudo的語言「金」和1024分別,您的查詢看起來像以下:

SELECT * FROM集合,其中字段1 = 「錢」 和Field2 = 1024 AND(場> =(場2 * 1.15)或場3 < =(場2 * 0.85))

MongoDB的須藤代碼查詢:

db.collection.find({ 
    field1: "gold", 
    field2: 1024, 
    $or: [ { field3: { $gt: ("$field2"*1.15) } }, { field3: { $lt: ("$field2"*0.85)} } ] 
}) 

考慮使用,如果你想多個條目

退房蒙戈文檔db.collection.aggregate({...}):

https://docs.mongodb.com/manual/tutorial/query-documents/

+0

field3不應與field2進行比較。 一個文檔的field3應與其他文檔的field3進行比較。 我想查找具有相同的field1和field2值的文檔,但field3中的值與其他值相差15% –

相關問題