db.set_journal.find({clientCompanyName:{$regex:")"}}) 这个能磨合查询带英文括号的字段吗
时间: 2023-11-27 15:52:44 浏览: 99
可以的,你可以使用转义字符 "\(" 和 "\)" 来查询带有英文括号的字段,具体的查询语句可以写成:
```
db.set_journal.find({clientCompanyName:{$regex:"\\)"}});
```
这个查询语句会查询所有 `clientCompanyName` 字段中包含 ")" 符号的记录。注意,由于 "\" 也是转义字符,所以需要使用两个反斜杠来表示一个反斜杠。
相关问题
错了:db.student.find( { name:{$or:[$regex:/文/,$regex:/好$/] } )
看起来你提供了一个MongoDB查询,但是语法上有些小错误。在MongoDB中,正则表达式应该放在`$regex`操作符内,而不是直接作为字符串传递给`$or`。正确的语法应该是:
```javascript
db.students.find({
name: {
$or: [
{ $regex: /文/, options: 'i' }, // i表示忽略大小写
{ $regex: /好$/, options: 'i' }
]
}
});
```
这里我们在`$regex`里添加了`options: 'i'`来指定模式匹配是不区分大小写的。
如果你想省略`community`字段,可以在`$project`阶段做:
```javascript
db.students.find({
name: {
$or: [
{ $regex: /文/, options: 'i' },
{ $regex: /好$/, options: 'i' }
]
}
}).project({ _id: 1, name: 1, age: 1, grade: 1, community: 0 });
```
阅读全文