我希望某个路径的文档集合具有唯一的键名。这是为UX元素提供 complete 的建议列表,以建议已知的键。
当我尝试这个answer
db.things.aggregate([
{"$project":{"arrayofkeyvalue":{"$objectToArray":"$$ROOT.some.sub.item"}}},
{"$unwind":"$arrayofkeyvalue"},
{"$group":{"_id":null,"allkeys":{"$addToSet":"$arrayofkeyvalue.k"}}}
])
allkeys中的列表似乎以50个结果为上限。有没有办法获取 all 包含在allkey中的结果,或者理想情况下,通过它们进行分页?
以下查询似乎可以满足我的要求:
db.things.aggregate([
{"$project":{"arrayofkeyvalue":{"$objectToArray":"$$ROOT.some.sub.item"}}},
{"$unwind":"$arrayofkeyvalue"},
{"$group":{"_id":"$arrayofkeyvalue.k"}}
])
我认为这给了我想要的完整性,但是效率似乎比上面的答案低很多。