Mongodb - 我可以使用$ gt语句找到嵌套对象吗?

时间:2015-07-03 17:00:23

标签: mongodb

这是我的mongodb对象:

{
  ...
  "position" : {
    "x" : 1,
    "y" : 1
  }
}

我想找到position.x大于0的对象。所以我在Java中尝试这个语句。

BasicDBObject query = new BasicDBObject("position",
                        new BasicDBObject("x", 
                          new BasicDBObject("$gt", 0));
// { "position" : { "x" : { "$gt" : 0}}}
DBCursor cursor = db.map.find(query);

但是游标为空。我怎么能找到它?

1 个答案:

答案 0 :(得分:2)

查询嵌套在文档中的值时,您需要在.调用的查询部分使用find()运算符。

我没有使用MongoDB的Java驱动程序,但你可以试一试:

BasicDBObject query = new BasicDBObject("position.x",
                          new BasicDBObject("$gt", 0));
DBCursor cursor = db.map.find(query);

最终,您要查找的查询是{ "position.x" : { "$gt" : 0}}