gpt4 book ai didi

java - 如何在 Java 代码中使用 JavaScript 表达式进行 MongoDB 查询,就像在 Mongo shell 中一样

转载 作者:行者123 更新时间:2023-12-03 12:45:37 25 4
gpt4 key购买 nike

1.我知道如何在 Mongo shell 中使用 JavaScript 表达式进行查询(集合名称为resource_phys。字段名称为val,定义为String类型,仅包含数字值):

//in Mongo shell:
var query1 = ("Number(this.val)>-1 && Number(this.val)<3")
db.resource_phys.find(query1)
//result found

2.现在,我想在 Java 代码中做同样的事情,但找不到任何支持 JavaScript 的 API。我请求您提供一些提示。

3.P.s。如果字段 val 是数字类型,我知道使用运算符 $gt$lt :

//in Java codes:
DBCollection coll = db.getCollection("resource_phys");
DBObject query2 = new BasicDBObject("val",new BasicDBObject("$gt",-1).append("lt",3));
DBCursor cursor = coll.find(query2);
//result got in cursor

最佳答案

您在 shell 中执行的查询形式实际上只是 $where 的快捷形式。运算符(operator)。所以你可以这样翻译:

    DBObject query = new BasicDBObject(
"$where",
"Number(this.val)>-1 && Number(this.val)<3"
);

但请注意文档,因为运行 JavaScript 对于性能来说并不是一个好主意。您确实应该将字符串转换为实际的数值。

关于java - 如何在 Java 代码中使用 JavaScript 表达式进行 MongoDB 查询,就像在 Mongo shell 中一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23354831/

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