如何使用 MongoDB 查找所有包含某个字段的文档,无论该字段的值是什么?
mongodbdatabasebig data analytics更新于 2026/1/17 0:52:17
要使用 MongoDB 查找所有包含某个字段的文档,无论该字段的值是什么,请使用 $exists 运算符。语法如下
db.yourCollectionName.find({yourFieldName:{$exists:true}});
创建一个包含文档的集合
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"John","StudentAge":null});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9d1d60a629b87623db1b22")
}
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Larry","StudentAge":null});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9d1d70a629b87623db1b23")
}
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Chris","StudentAge":""});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9d1d7ba629b87623db1b24")
}
>db.findAllDocumentWhichHaveFieldDemo.insertOne({"StudentName":"Robert","StudentAge":""});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c9d1d81a629b87623db1b25")
}
以下是借助 find() 方法显示集合中的所有文档的查询
> db.findAllDocumentWhichHaveFieldDemo.find().pretty();
这将产生以下输出 −
{
"_id" : ObjectId("5c9d1d60a629b87623db1b22"),
"StudentName" : "John",
"StudentAge" : null
}
{
"_id" : ObjectId("5c9d1d70a629b87623db1b23"),
"StudentName" : "Larry",
"StudentAge" : null
}
{
"_id" : ObjectId("5c9d1d7ba629b87623db1b24"),
"StudentName" : "Chris",
"StudentAge" : ""
}
{
"_id" : ObjectId("5c9d1d81a629b87623db1b25"),
"StudentName" : "Robert",
"StudentAge" : ""
}
以下是使用 MongoDB 查找所有具有某个字段的文档的查询,无论该字段的值是什么
> db.findAllDocumentWhichHaveFieldDemo.find({StudentAge:{$exists:true}});
这将产生以下输出 −
{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentName" : "John", "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentName" : "Larry", "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentName" : "Chris", "StudentAge" : "" }
{ "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentName" : "Robert", "StudentAge" : "" }
如果您不想在结果中包含字段"StudentName",则以下查询
>db.findAllDocumentWhichHaveFieldDemo.find({},{StudentName:0},{StudentAge:{$exists:true}});
这将产生以下输出 −
{ "_id" : ObjectId("5c9d1d60a629b87623db1b22"), "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d70a629b87623db1b23"), "StudentAge" : null }
{ "_id" : ObjectId("5c9d1d7ba629b87623db1b24"), "StudentAge" : "" }
{ "_id" : ObjectId("5c9d1d81a629b87623db1b25"), "StudentAge" : "" }

