0
{ "_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) 

两种情况都没有错误,没有检索到文件。

4

2 回答 2

2

你命名你的领域x:不是x所以这应该做的工作:

db.lines.find({"start.x:": {$gt:40} })
于 2013-10-10T10:49:50.940 回答
1

还没有将 Mongo 与 Java 一起使用,但是...您是否尝试过使用QueryBuilder.get而不是QueryBuild.start?这就是用于查找操作的方法。

对于这种情况,您还可以使用更具体的:QueryBuild.greaterThan

于 2013-10-10T10:50:50.737 回答