我试图把这个成吗啡查询: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