MongoDB Compass 是 MongoDB 的可视化工具,用它打开表中的数据后,怎样过滤显示呢?
上方有一个 FILTER,其中的基础语法是 JSON,比如:{ size: 3 }。
上面表示只显示 _id 为指定 ObjectId 的记录。
如果要使用 <、>、=、<=、>=、in 这些怎么办呢?分别用:$lt、$gt、$eq、$lte、$gte、$in。
{ sequence : { $lt : 30 } }
{ organizationCode : { $in : ["C11", "C12"] } }
MongoDB 不像关系型数据库那么讲究,所以这里 in 可以用字符串。
关于大小写
{ myName : "a" }、{ myName: { $eq : "a" }} 、{ myName: { $in : [ "a" ] } }
大小写敏感,上面只能查出 myName 为小写 a 的记录。
还有 and、or 等
{$or: [{ organizationCode : "a" }, { sequence: 10 }] }
{$and: [{ organizationCode : "a" }, { sequence: 10 }] }
and 可以简写,不使用数组,如下:
{ organizationCode : "a" , sequence: 10 }
也就是说,指定 $and、$or 是跟一个数组,数组中的各项是字段名与值,而简写 and 直接用一个 JSON 对象,其中包含各个字段名与值。