gpt4 book ai didi

java - MongoDB-Java : Not operator and regular expressions

转载 作者:行者123 更新时间:2023-12-01 06:09:43 25 4
gpt4 key购买 nike

我在将下一行从 java 代码转换为 mongoDB 时遇到问题:

{ "field1.array": { $not :/\w*(whatever)\w*/}}.

我尝试过使用这个:

Criteria criteria = new Criteria() {
@Override
public DBObject getCriteriaObject() {
return
new BasicDBObject("field1.array",
new BasicDBObject("$not",
Pattern.compile(regexp)));
}
};

这不起作用,因为它将正则表达式作为 $regex 函数发送,与 $not 运算符不兼容。

我试图用这个来否定我的正则表达式:^((?!my string).)*$如果我不指定数组位置,它对我的​​数组不起作用。

有什么想法吗?

最佳答案

我猜,你只是缺少模式的“等于”。从未尝试过使用 DBObject,但使用过滤器它的工作原理如下:

 collection.find(
Filters.not(Filters.eq("myField", Pattern.compile("xyz.*")))
)

关于java - MongoDB-Java : Not operator and regular expressions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37159611/

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