{ "_id" : { "$oid" : "52568424036439f2c5107571"} , "start" : { "x:" : 71 , "y:" : 9} , "end" : { "x:" : 30 , "y:" : 84}}
{ "_id" : { "$oid" : "52568424036439f2c5107572"} , "start" : { "x:" : 28 , "y:" : 59} , "end" : { "x:" : 72 , "y:" : 64}}
{ "_id" : { "$oid" : "52568424036439f2c5107573"} , "start" : { "x:" : 16 , "y:" : 71} , "end" : { "x:" : 18 , "y:" : 79}}
需要所有文档说明start.x> 40
查询mongoDb控制台:
db.lines.find({"start.x": {$gt:40} })
Java驱动程序:
DBObject query = QueryBuilder.start("start.x").greaterThan(50).get();
collection.find(query)
两种情况都没有错误,没有检索到文件。
答案 0 :(得分:2)
您将字段x:
命名为x
,这样就可以完成工作了:
db.lines.find({"start.x:": {$gt:40} })
答案 1 :(得分:1)
没有将Mongo与Java一起使用,但是......您是否尝试过使用QueryBuilder.get
代替QueryBuild.start
?这是用于查找操作的方法。
在这种情况下,您还可以使用更具体的一个:QueryBuild.greaterThan