gpt4 book ai didi

java - MongoDB Java 驱动程序 : query where d>2, a ="ABC",b ="AA"

转载 作者:行者123 更新时间:2023-12-02 11:13:07 25 4
gpt4 key购买 nike

这是我在 mongodb 中的示例数据,

{
"a": "",
"b": "",
"c": "",
"d": 0
},
{
"a": "ABC",
"b": "AA",
"c": "12345678",
"d": 1
}

这是我用于构建条件和查找查询的 Java 代码,但我没有从 MongoDb 获取数据。

public Document buildCriteria(String a, String b, String c, String e,
String f, Double d) {

Document criteria = new Document();

if (StringUtils.isNotBlank(a)) {
criteria.append("country", a);
}

if (StringUtils.isNotBlank(b)) {
criteria.append("ccy", b);
}

if (StringUtils.isNotBlank(c)) {
criteria.append("type", c);
}

if (StringUtils.isNotBlank(f)) {
criteria.append("iCode", f);
}


if (StringUtils.isNotBlank(e)) {
criteria.append("aNumber", e);
}

if (null != d) {
criteria.append("d", new Document("$gt", d));
}

return criteria;
}

Finderable<Document> findDocument = dbName.find(criteria).limit(10);

有人可以帮助我使用 Java 代码根据以下标准获取文档:

d>2, a="ABC", b="AA"

最佳答案

这是一个示例,内联注释应有助于解释如何用以下术语表达 d>2 和 a="ABC"和 b="AA" Mongo Java 驱动程序可以理解:

MongoClient mongoClient = ...;

// create a filter consisting of and'ed criteria
Bson filter = Filters.and(
// d>2
Filters.gt("d", 2),
// a="ABC"
Filters.eq("a", "ABC"),
// b="AA"
Filters.eq("b", "AA")
);

MongoCollection<Document> collection = mongoClient.getDatabase("...").getCollection("...");

FindIterable<Document> findDocument = collection.find(filter).limit(10);

注意:您没有明确提及您使用的 Mongo Java 驱动程序的版本,上述代码对 3.x 版本有效。

关于java - MongoDB Java 驱动程序 : query where d>2, a ="ABC",b ="AA",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50472584/

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