汇总与查找结果不同

时间:2018-09-04 14:33:08

标签: json mongodb

首先db.collection.distinct("name");对我来说还不错,但是问题是,distinct有局限性(结果不能大于最大BSON大小),我需要汇总一下,对吧? / p>

另一件事是,我真的想做与发现过滤结果不同的事情,所以是这样的:

db.collection.find({ name: { $exists: true, $ne: null }, state: "published" });

所以主要思想是从完整集合中保存所有已发布的“名称”值,而在json文件中没有任何限制。

所以我用过:

>cat 1.json
db.collection.distinct("name");
mongo db < 1.json > 2.json

1 个答案:

答案 0 :(得分:0)

正确的查询是:

  

db.collection.aggregate([{{$ match:{name:{$ exists:true,$ ne:null},   状态:“已发布”}},{$ group:{_ id:null,唯一值:{$ addToSet:   “ $ name”}}}]));