Mongo在返回整个文档时应该得到计数并且应该查询

时间:2014-07-21 06:07:09

标签: mongodb

我是Mongo的新手,在阅读帖子和文档后似乎无法弄清楚以下内容。我正在执行以下查询:

db.collection.find({'name':'example name'})

返回14个结果。我可以通过执行以下方式正确计算:

db.collection.find({'name':'example name'}).count()

但是,我想在单个查询中返回完整的文档和计数,类似于Elasticsearch的方式。无论如何都要这样做。

此外,Elasticsearch的Bool应该查询(http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html)是否有任何等价物。基本上我想要对结果进行排名,以便具有属性' onSale = True'在' onSale = False'之前返回。

1 个答案:

答案 0 :(得分:1)

我不确定你的第二个问题,MongoDB是否提供了一些与Elasticsearch的Bool相同的机制。

但是对于你的第一个问题,我认为你可以使用Cursor。

var cursor = db.collection.find({'name':'example name'});

获得光标后,您可以使用它以下列方式获取计数:

cursor.count()

以及以下列方式获取包装在数组中的文档:

cursor.toArray()

有关光标的更多信息,请参阅以下链接:

http://docs.mongodb.org/manual/tutorial/iterate-a-cursor/