BasicDBObject numeralQ; -6ren">
gpt4 book ai didi

java - mongodb 中 "between"的查询语法 - 我正在使用 java

转载 作者:行者123 更新时间:2023-12-02 07:47:09 31 4
gpt4 key购买 nike

我想检索其“价格”字段在某个最大值和最小值之间的数据,我在java中使用下面的语法,但它似乎不起作用。

>

 BasicDBObject numeralQ;                                                                
List<DBObject> clauses = new ArrayList<DBObject>();
.
.
.
.
numeralQ.put(datafield,new BasicDBObject("$gt", min).append("$lt", max));
clauses.add(numeralQ);
.
.//i also have many other conditions that i want to "OR" them with this condition
.
BasicDBList or = new BasicDBList();

for (DBObject clause : clauses)
or.add(clause);

DBObject query = new BasicDBObject("$or", or);
DBCursor cur = coll.find(query);

while (cur.hasNext()) {
System.out.println(cur.next());

}

你能看出我做错了什么吗?

--编辑

printing the `query.toString();` results in this string :

{ "$or": [ { "价格": { "$gt": "2", "$lt": "1250"}}]}

最佳答案

您想要将价格作为数字而不是字符串进行比较。因此,您希望最终得到一个如下所示的条件对象:

{ "Price": {"$gt": 2, "$lt": 1250 } }

关于java - mongodb 中 "between"的查询语法 - 我正在使用 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665388/

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