mongoDB find
比较符
字符 |
操作含义 |
备注 |
$lt |
小于 < |
|
$lte |
小于等于 <= |
|
$gt |
大于 > |
|
$gte |
大于等于 >= |
|
$ne |
不等于 != |
|
$in |
在范围内 include |
{age: {$in: [18,20]}} 注意是数组 |
$nin |
不在范围内 !include |
参考$in |
$all |
完全匹配 |
{ tags: { $all: [tagId] } } 后面接数组 |
$regex |
正则匹配 |
find({‘name’: {$regex: ‘^M.*}) 以 M 开头的名字 |
$exists |
是否存在 |
{name:{$exists:true}} 查找 name 存在的 doc |
$type |
类型判断 |
{age: {$type: Number}} |
$text |
文本查询 |
{$text : {‘$search’: ‘Mike’}} text类型的属性中包含Mike字符串 |
$or |
或操作 |
{$or:[{‘name’:’chen’},{‘name’:’wang’}]} or 后面接数组 |
$and |
与操作 |
{$and:[{‘name’:’chen’},{‘name’:’wang’}]} and 后面接数组 |
$in
和 $all
的区别:
$in
和$all
后面都是接数组,但是指向的范围不同
1 2 3
|
const topicList = await ctx.model.Topic.find({ tags: { $all: [copyTagId] } });
|
1 2 3
|
const topicList = await ctx.model.Topic.find({ name: { $in: ['1', '2', '3'] } });
|