gpt4 book ai didi

java中的mongodb问题与限制和排序

转载 作者:IT老高 更新时间:2023-10-28 13:09:06 26 4
gpt4 key购买 nike

收藏:progs

{ "_id" : "ABC", "defaultDirectory" : "abc", "defaultRecvDirectory" : "abc" }
{ "_id" : "RAS", "defaultRecvDirectory" : "recv/ras" }
{ "_id" : "SND", "defaultSendDirectory" : "send/snd" }

在 mongo 控制台中:

db.progs.find({"_id":{"$lt":"ZZZZZZZZZ"}}).sort({"_id":-1}).limit(1);

==> { "_id" : "SND", "defaultSendDirectory" : "send/snd" }

在 Java 中:

    BasicDBObject query = new BasicDBObject();
query.put("_id", new BasicDBObject("$lt", "ZZZZZZZZZZ"));
DBCursor cursor = collection.find(query).sort(new BasicDBObject("_id","-1")).limit(1);
for (DBObject dbObject : cursor) {
System.out.println(dbObject);
}

==> { "_id" : "ABC", "defaultSendDirectory" : "abc", "defaultRecvDirectory" : "abc" }

谁能解释一下区别?

最佳答案

从您的排序中的 "-1" 中删除引号:

DBCursor cursor = collection.find(query).sort(new BasicDBObject("_id",-1)).limit(1);

或者使用 com.mongodb.operation.OrderBy 中的 Mongodb ASC/DESC 常量,而不是硬编码 1/-1

例子:

DBCursor cursor = collection.find(query).sort(new BasicDBObject("_id", OrderBy.DESC.getIntRepresentation())).limit(1);

关于java中的mongodb问题与限制和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13994065/

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