gpt4 book ai didi

java - 找不到 MongoDB 排序方法

转载 作者:可可西里 更新时间:2023-11-01 10:00:58 26 4
gpt4 key购买 nike

我在评估 MongoDb 的过程中遇到了一个我无法解决的绊脚石。我正在使用 Mongo Java 驱动程序 2.11.3。

当我使用 Mongo Shell 运行以下代码时。我得到了预期的结果。

db.people.find().sort({Counter: -1}).limit(10)

当我使用以下代码从我的应用程序运行时,我收到一条错误消息“找不到排序方法”。

<cfscript>
results = people.find().sort({Counter: -1}).limit(10).toArray();
</cfscript>

如果我运行它,我不会出错:

<cfscript>
results = people.find().limit(10).toArray();
</cfscript>

如果我运行它,我会收到错误消息 - 未找到排序方法。

<cfscript>
results = people.find().sort({Counter: -1}).toArray();
</cfscript>

因此,在收到此错误后,我查看了驱动程序 api 文档:http://api.mongodb.org/java/2.11.3/据我所见,DBCursor 类同时包含 limit()Sort() 方法,但 limit 方法似乎有效美好的。

如有任何帮助,我们将不胜感激。

评论更新:

当我尝试运行建议的代码时,我收到一个错误,基本上是说找不到 BasicDBObject 接口(interface)。

<cfscript> 
myCollection = myDb.getCollection("people");
sortedCursor = myCollection.find().sort(new BasicDBObject("Counter",1)).toArray();
peopleResult = sortedCursor;
</cfscript>

最佳答案

在 java 驱动程序中,集合上的各种查找方法返回一个 DBCursor,后者又支持排序方法:在 DBCollection

DBCursor find(DBObject ref)

DBCursor

DBCursor sort(DBObject orderBy)

所以整个事情看起来像

DBCollection collection = ... // get collection
DBObject query = ...
DBCursor sortedCursor = collection.find(query).sort(new BasicDBObject("fieldToSortBy",1));

关于java - 找不到 MongoDB 排序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com