获取所有 MongoDB 文档,但不获取包含两个给定条件的文档?
mongodbdatabasebig data analytics更新于 2026/1/17 4:37:17
要获取所有包含某些给定条件的 MongoDB 文档,请遵循以下任一情况
情况 1 以下是使用 $ne 运算符获取所有不包含单个条件的文档的查询
db.yourCollectionName.find({yourFieldName:{$ne:"yourValue"}}).pretty();
案例 2 以下是使用 $nin 运算符获取所有不包含两个给定条件的文档的查询
db.yourCollectionName.find({yourFieldName:{$nin:["yourValue1","yourValue2"]}}).pretty();
首先,我们创建一个集合。以下是创建包含文档的集合的查询
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"Larry","StudentSubjectName":"Java"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c993d82330fd0aa0d2fe4d2")
}
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"Chris","StudentSubjectName":"C++"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c993d8f330fd0aa0d2fe4d3")
}
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"Robert","StudentSubjectName":"C"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c993d99330fd0aa0d2fe4d4")
}
>db.findAllExceptFromOneOrtwoDemo.insertOne({"StudentName":"David","StudentSubjectName":"Python"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c993da4330fd0aa0d2fe4d5")
}
以下是借助 find() 方法显示集合中的所有文档的查询
> db.findAllExceptFromOneOrtwoDemo.find().pretty();
这将产生以下输出 −
{
"_id" : ObjectId("5c993d82330fd0aa0d2fe4d2"),
"StudentName" : "Larry",
"StudentSubjectName" : "Java"
}
{
"_id" : ObjectId("5c993d8f330fd0aa0d2fe4d3"),
"StudentName" : "Chris",
"StudentSubjectName" : "C++"
}
{
"_id" : ObjectId("5c993d99330fd0aa0d2fe4d4"),
"StudentName" : "Robert",
"StudentSubjectName" : "C"
}
{
"_id" : ObjectId("5c993da4330fd0aa0d2fe4d5"),
"StudentName" : "David",
"StudentSubjectName" : "Python"
}
案例 1 单一条件
以下是查询
> db.findAllExceptFromOneOrtwoDemo.find({StudentSubjectName:{$ne:"C"}}).pretty();
这将产生以下输出 −
{
"_id" : ObjectId("5c993d82330fd0aa0d2fe4d2"),
"StudentName" : "Larry",
"StudentSubjectName" : "Java"
}
{
"_id" : ObjectId("5c993d8f330fd0aa0d2fe4d3"),
"StudentName" : "Chris",
"StudentSubjectName" : "C++"
}
{
"_id" : ObjectId("5c993da4330fd0aa0d2fe4d5"),
"StudentName" : "David",
"StudentSubjectName" : "Python"
}
案例 2 两个条件
以下是查询
>db.findAllExceptFromOneOrtwoDemo.find({StudentSubjectName:{$nin:["C++","Python"]}}).pretty();
这将产生以下输出 −
{
"_id" : ObjectId("5c993d82330fd0aa0d2fe4d2"),
"StudentName" : "Larry",
"StudentSubjectName" : "Java"
}
{
"_id" : ObjectId("5c993d99330fd0aa0d2fe4d4"),
"StudentName" : "Robert",
"StudentSubjectName" : "C"
}

