gpt4 book ai didi

mongodb - 使用 MongoDB 的 map reduce 选择不同的多个字段

转载 作者:IT老高 更新时间:2023-10-28 13:35:43 27 4
gpt4 key购买 nike

我想在 MongoDB 上执行这条 SQL 语句:

SELECT DISTINCT book,author from library

到目前为止,MongoDB 的 DISTINCT 一次只支持一个字段。对于多个字段,我们必须使用 GROUP 命令或 map-reduce。

我搜索了一种使用 GROUP 命令的方法:

db.library.group({ 
key: {book:1, author:1},
reduce: function(obj, prev) { if (!obj.hasOwnProperty("key")) {
prev.book = obj.book;
prev.author = obj.author;
}},
initial: { }
});

但是,这种方法最多只能支持 10,000 个键。有人知道如何使用 map reduce 来解决这个问题吗?

最佳答案

看看这个article它解释了如何在 MongoDB 中使用 map-reduce 查找独特的文章。

您的 emit 语句将类似于:

emit({book: this.book, author: this.author}, {exists: 1});

而且您的 reduce 可以比示例更简单,因为您不关心每个分组有多少。

return {exists: 1};

关于mongodb - 使用 MongoDB 的 map reduce 选择不同的多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7460885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com