gpt4 book ai didi

mongodb - 在 Mongodb 中,如何检查所有文档的值是否都是唯一的?

转载 作者:可可西里 更新时间:2023-11-01 09:11:51 27 4
gpt4 key购买 nike

假设我在数据库中有 4 个文档:

{ name: 'alex' }
{ name: 'jen' }
{ name: 'alex' }
{ name: 'john'}

在 MongoDB Shell 中,我想知道 2 个或更多文档是否共享相同的“名称”

基本上,如果所有名称都不同,则返回 true。如果 2 人或多人同名,则返回 false。

最佳答案

试试这个,使用快速 map-reduce query查找具有相同名称的文档的数量,如果它们都不同则返回 true:

function allDifferent() {
var m = function() { emit(this.name, 1); }
var r = function(key, emits) {
var n = 0; emits.forEach(function(v) { n += v; }); return n;
}
var result = db.mycol.mapReduce(m, r, { out: "namecounts" });
var allDifferent= (db.namecounts.count( { value: { $gt: 1 } } ) == 0)
db.namecounts.drop();
return allDifferent;
}

关于mongodb - 在 Mongodb 中,如何检查所有文档的值是否都是唯一的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7102918/

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