如何在 MongoDB 中使用或运算符来根据存在性提取记录?
若要根据存在性提取使用 $or 运算符的记录,请将 $or 与 $exists 搭配使用。让我们创建一个包含文档的集合 −
>db.demo185.insertOne({_id:101,details:{Name:"Chris",Score:78,Subjects:{"Name":"MySQL"}}});
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo185.insertOne({_id:102,details:{Name:"Bob",Score:78}});
{ "acknowledged" : true, "insertedId" : 102 }
>db.demo185.insertOne({_id:103,details:{Name:"David",Score:78,Subjects:{"Name":"MongoDB"}}});
{ "acknowledged" : true, "insertedId" : 103 }使用 find() 方法显示集合中的所有文档 −
> db.demo185.find();
这将产生以下输出 −
{ "_id" : 101, "details" : { "Name" : "Chris", "Score" : 78, "Subjects" : { "Name" : "MySQL" } } }
{ "_id" : 102, "details" : { "Name" : "Bob", "Score" : 78 } }
{ "_id" : 103, "details" : { "Name" : "David", "Score" : 78, "Subjects" : { "Name" : "MongoDB" } } }以下是 MongoDB 中使用 or 运算符的查询 −
> db.demo185.find({
... "$or": [
... { "details.Subjects.Name": { "$exists": true } },
... { "details.Subjects.Name": { "$exists": true } }
... ]
... })这将产生以下输出 −
{ "_id" : 101, "details" : { "Name" : "Chris", "Score" : 78, "Subjects" : { "Name" : "MySQL" } } }
{ "_id" : 103, "details" : { "Name" : "David", "Score" : 78, "Subjects" : { "Name" : "MongoDB" } } }
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP