use*_*495 4 database unique mongodb
假设我在数据库中有4个文档:
{ name: 'alex' }
{ name: 'jen' }
{ name: 'alex' }
{ name: 'john'}
Run Code Online (Sandbox Code Playgroud)
在MongoDB Shell中,我想知道2个或更多文档是否共享相同的"名称".
基本上,如果所有名称都不同,则返回true.如果2或人具有相同的名称,则返回false.
试试这个,使用一个快速map-reduce查询来查找具有相同名称的文档数,如果它们全部不同则返回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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |