Mongodb 基于numberprint数组的子集集合
我第一次与MongoDb合作。我的集合包含以下数据Mongodb 基于numberprint数组的子集集合,mongodb,subset,Mongodb,Subset,我第一次与MongoDb合作。我的集合包含以下数据 "VendorName":"ABC Realtors", "SiteDetails":"MainSite", "Cdays": 8, "Year": NumberInt(2019), "Month": "April", "YearMon": "April_2
"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。确保数据不在嵌套文档的路径中。确保所有文档中的字段名都完全匹配。请添加预期为输出的一部分但不是输出的一部分的文档。我也会帮你的。