我試圖把這個成嗎啡查詢:MongoDB的嗎啡elemMatch API
db.woot.find({
"bar.tables": {
$elemMatch: {
"tableId": {
$in: [3,
4]
},
"tab": {
$gte: 20000
}
}
}
})
所以我必須:
Query<Table> q
q.field("bar.table").hasThisElement()
並在此之後,我不知道如何完成查詢,仍然使用在(),gte()方法中支持的FieldEnd,而無需使用BasicDBObjects自己編寫完整的查詢。
請幫助我將以上查詢轉換爲儘可能好的Morphia等價物。
編輯:bar.tables是一個數組,因此必須使用elemMatch完成匹配,否則它可以匹配來自某個元素的第一個條件和來自另一個元素的第二個條件,但只有匹配這兩個條件的元素纔是有效的。
只是爲了得到這個權利:('bar.table.tableId'必須是3或4)並且'bar.table.tab'必須大於20,00 - 正確嗎? – xeraa
是的。但請注意,它也可以是其他任何運營商或數據。查詢是通過指定操作員和數據的API構建的。 – Steinkauz