1

我在 Java 中使用下面提到的 MongoDB 查询来查找字段的最大值price

DBCursor cursor = coll.find(query,fields).sort(new BasicDBObject("price",1)).limit(1);

fields此处传递给coll.find函数的参数仅具有该price字段。

所以我得到以下形式的输出:

{"price" : value}

有没有办法只在没有字段名称和大括号等的输出中获取值,以便可以将其分配给变量或返回给调用函数等。

或者,如果有任何其他可用的查询或机制可以用于相同的目的。

请建议..

感谢和问候

4

2 回答 2

1

您可以从 DBCursor 对象中获取价格值,如下所示。

while (cursor.hasNext()) {
    Double price = (Double) cursor.next().get("price");
}

在 mongo shell 上,您可以执行以下操作:

db.priceObj.find({},{_id:0, price:1}).sort({price:-1}).limit(1)[0].price
于 2013-09-09T13:52:27.210 回答
1

由于 MongoDB 使用 BSON 进行通信,因此您无法执行此操作。

您想要的单个值将是无效的 BSON。很容易将其过滤掉。

于 2013-09-09T10:42:05.783 回答