您可以为此使用$exists运算符。首先让我们创建一个包含文档的集合-
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"John","StudentGender":"Male","StudentMongoDBScore":89});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd909611a844af18acdffbd")
}
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"Emma","StudentGender":"Female","StudentMongoDBScore":58});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd909781a844af18acdffbe")
}
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"Carol","StudentGender":"Male","StudentMongoDBScore":77});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd909871a844af18acdffbf")
}
>db.checkFieldExistsDemo.insertOne({"StudentFirstName":"David","StudentMongoDBScore":98});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd909a31a844af18acdffc0")
}以下是在find()方法的帮助下显示集合中所有文档的查询-
> db.checkFieldExistsDemo.find().pretty();
这将产生以下输出-
{
"_id" : ObjectId("5cd909611a844af18acdffbd"),
"StudentFirstName" : "John",
"StudentGender" : "Male",
"StudentMongoDBScore" : 89
}
{
"_id" : ObjectId("5cd909781a844af18acdffbe"),
"StudentFirstName" : "Emma",
"StudentGender" : "Female",
"StudentMongoDBScore" : 58
}
{
"_id" : ObjectId("5cd909871a844af18acdffbf"),
"StudentFirstName" : "Carol",
"StudentGender" : "Male",
"StudentMongoDBScore" : 77
}
{
"_id" : ObjectId("5cd909a31a844af18acdffc0"),
"StudentFirstName" : "David",
"StudentMongoDBScore" : 98
}以下是检查MongoDB中是否存在字段的查询-
> db.checkFieldExistsDemo.find({"StudentMongoDBScore":98, "StudentGender":{"$exists": false}},{'StudentFirstName': 1, '_id':0});这将产生以下输出-
{ "StudentFirstName" : "David" }