Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 基于numberprint数组的子集集合_Mongodb_Subset - Fatal编程技术网

Mongodb 基于numberprint数组的子集集合

Mongodb 基于numberprint数组的子集集合,mongodb,subset,Mongodb,Subset,我第一次与MongoDb合作。我的集合包含以下数据 "VendorName":"ABC Realtors", "SiteDetails":"MainSite", "Cdays": 8, "Year": NumberInt(2019), "Month": "April", "YearMon": "April_2

我第一次与MongoDb合作。我的集合包含以下数据

"VendorName":"ABC Realtors",
"SiteDetails":"MainSite",
"Cdays": 8,
"Year": NumberInt(2019),
"Month": "April",
"YearMon": "April_2019",
"Cluster": NumberInt(6538)
我正试图根据
集群
项目列表对集合进行子集划分,以下是我的代码:

   db.collection.find({Cluster : 6538 })
这将打印控制台中的所有记录

然而,这并不是:

db.collection.find({Cluster : {"$all":[6538,28]  }})
如何从Mongodb获取基于NumberPrint值数组的所有记录。我不确定这是否与将数据上传到mongodb有关。我使用了以下步骤:

df=pd.read_csv("/home/ubuntu/er.csv",encoding='ISO-8859-1')
records = json.loads(df.to_json(orient="records"))
col.insert_many(records)
$all运算符选择字段值为包含所有指定元素的数组的文档

第二个查询查找文档,其中cluster字段是一个数组,并且应该同时具有这两个值

db.collection.find({Cluster : {"$in":[6538,28]  }})
您可以使用
$in
代替
$all
,后者查找包含其中一个值的群集字段的文档

db.collection.find({Cluster : {"$in":[6538,28]  }})

非常感谢。不过,中的
$也不起作用。它没有归还任何东西。我不确定这是否与我上传数据的方式有关。我已经更新了我的问题你能做出一个可复制的场景吗?。它的工作原理与播放链接相同。请检查并告诉neYes…它确实在工作。我不知道为什么在我的情况下它不起作用。对此有任何进一步的想法…我还是接受你的答案。请从查询中删除28,然后再试一次。这不应该是个问题。确保数据的类型为number。确保数据不在嵌套文档的路径中。确保所有文档中的字段名都完全匹配。请添加预期为输出的一部分但不是输出的一部分的文档。我也会帮你的。