哪种 MongoDB 查询在数组中多次查找相同的值?
要多次查找相同的值,请在 MongoDB 中使用 $where。让我们创建一个包含文档的集合 -
> db.demo188.insertOne(
... {
... "ListOfData":[
... {"Data": 100},
... {"Data": 200},
... {"Data": 100}
... ]
... }
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3ad1c203d395bdc21346bd")
}
> db.demo188.insertOne(
... {
... "ListOfData":[
... {"Data": 100},
... {"Data": 200},
... {"Data": 300}
... }
...);
{
"acknowledged" : true,
"insertedId" : ObjectId("5e3ad1c203d395bdc21346be")
}在集合中使用 find() 方法显示所有文档 -
> db.demo188.find();
这将生成以下输出 -
{ "_id" : ObjectId("5e3ad1c203d395bdc21346bd"), "ListOfData" : [ { "Data" : 100 }, { "Data" : 200 }, { "Data" : 100 } ] }
{ "_id" : ObjectId("5e3ad1c203d395bdc21346be"), "ListOfData" : [ { "Data" : 100 }, { "Data" : 200 }, { "Data" : 300 } ] }以下是多次在数组中查找相同值查询 -
> db.demo188.find({
... "$where": function() {
... return this.ListOfData.filter(function(d) {
... return d.Data == 100;
... }).length > 1;
... }
...})这将生成以下输出 -
{ "_id" : ObjectId("5e3ad1c203d395bdc21346bd"), "ListOfData" : [ { "Data" : 100 }, { "Data" : 200 }, { "Data" : 100 } ] }
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP