在 MongoDB 中查找数组中至少一项不在另一个数组中的文档?


为此,在 MongoDB find() 中设置正则表达式。让我们创建一个带有文档的集合 -

> db.demo228.insertOne({"Subjects":["MongoDB","Java"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3fa51f03d395bdc213473b")
}
> db.demo228.insertOne({"Subjects":["MongoDB","Java","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3fa52c03d395bdc213473c")
}

使用 find() 方法从集合中显示所有文档 -

> db.demo228.find();

这将产生以下输出 -

{ "_id" : ObjectId("5e3fa51f03d395bdc213473b"), "Subjects" : [ "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e3fa52c03d395bdc213473c"), "Subjects" : [ "MongoDB", "Java", "MySQL" ] }

以下是查找数组中至少一项不在另一个数组中的文档的查询 -

> db.demo228.find({ "Subjects": /^(?!MongoDB|Java)/ });

这将产生以下输出 -

{ "_id" : ObjectId("5e3fa52c03d395bdc213473c"), "Subjects" : [ "MongoDB", "Java", "MySQL" ] }

更新于:30-Mar-2020

120 次浏览

开启你的职业生涯

完成课程即可获得认证

开始
广告
© . All rights reserved.