cap*_*lam 1 duplicates mongodb nosql
我是NoSQL的新手,对不起,如果这是非常基本的话.假设我有以下集合:
{
a: 1,
b: 2,
c: 'x'
},
{
a: 1,
b: 2,
c: 'y'
},
{
a: 1,
b: 1,
c: 'y'
}
Run Code Online (Sandbox Code Playgroud)
我想对匹配的任何内容运行"重复数据删除"查询:
{
a: 1,
b: 2
... (any other properties are ignored) ...
},
Run Code Online (Sandbox Code Playgroud)
因此,在运行查询后,集合中的以下任何一个都可以正常:
{
a: 1,
b: 2,
c: 'y'
},
{
a: 1,
b: 1,
c: 'y'
}
Run Code Online (Sandbox Code Playgroud)
要么
{
a: 1,
b: 2,
c: 'x'
},
{
a: 1,
b: 1,
c: 'y'
}
Run Code Online (Sandbox Code Playgroud)
只要只剩下一个== 1和b == 2的文档.
如果你总是希望确保只有一个文档任何给定的a,b组合,您可以使用一个唯一索引a和b.创建索引时,您可以提供dropDups选项,该选项将删除除一个副本之外的所有内容:
db.collection.ensureIndex({a: 1, b: 1}, {unique: true, dropDups: true})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3762 次 |
| 最近记录: |