MongoDB 查询同时排除包含 FALSE 的字段
为此,使用 $or 运算符以及 $expr 运算符。我们首先创建一个包含文档的集合,其中一个字段 isMarried 具有 true 或 false 值 −
> db.orTwoFieldsDemo.insertOne({"isLiveInUS":true,"isMarried":false});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdfd86abf3115999ed5120d")
}
> db.orTwoFieldsDemo.insertOne({"isLiveInUS":true,"isMarried":true});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdfd876bf3115999ed5120e")
}
> db.orTwoFieldsDemo.insertOne({"isLiveInUS":false,"isMarried":false});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cdfd87dbf3115999ed5120f")
}以下查询使用 find() 方法显示集合中的所有文档 −
> db.orTwoFieldsDemo.find();
这将产生以下输出 −
{ "_id" : ObjectId("5cdfd86abf3115999ed5120d"), "isLiveInUS" : true, "isMarried" : false }
{ "_id" : ObjectId("5cdfd876bf3115999ed5120e"), "isLiveInUS" : true, "isMarried" : true }
{ "_id" : ObjectId("5cdfd87dbf3115999ed5120f"), "isLiveInUS" : false, "isMarried" : false }以下查询避免两个字段中的 FALSE 值,仅显示 TRUE 字段或某个字段为 TRUE 或另个字段为 FALSE,反之亦然 −
> db.orTwoFieldsDemo.find({ $expr: { $or: [ "$isLiveInUS", "$isMarried" ] } });这将产生以下输出 −
{ "_id" : ObjectId("5cdfd86abf3115999ed5120d"), "isLiveInUS" : true, "isMarried" : false }
{ "_id" : ObjectId("5cdfd876bf3115999ed5120e"), "isLiveInUS" : true, "isMarried" : true }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP