Como Verificar Itens Duplicados no Array no MongoDB
3245 단어 tecnologiamongodatabasemongodb
Se você tem uma collection grande e precisa descobrir se existem items com valores duplicados dentro de um array. Esse problema algum dia provavelmente irá acontecer com você, mas não se preocupe! Para verificar se há duplicatas em um array, usaremos o
.aggregate()
몽고DB가 없습니다.Vamos criar uma coleção com documentos de exemplo, primeiro inserimos um registro de teste:
db.demo.insertOne({"assunto":["MySQL","MongoDB","Node", "MySQL"]});
Depois vamos inserir mais um registro com um item duplicado dentro do nosso array de assunto:
db.demo.insertOne({"assunto":["Java","C+","Node", "C+"]});
E agora apenas para teste, vamos inserir um registro sem nenhum item duplicado:
db.demo.insertOne({"assunto":["JavaScript","C#","Python"]});
Agora exiba todos os documentos da nossa coleção com a ajuda do método
.find()
db.demo.find();
Isso produzirá o seguinte resultado:
/\* 1 \*/ { "\_id" : ObjectId("5f89f5da526ef077555fe4aa"), "assunto" : ["MySQL", "MongoDB", "Node"] } /\* 2 \*/ { "\_id" : ObjectId("5f89f718526ef077555fe4ab"), "assunto" : ["Java", "C+", "Node"] } /\* 3 \*/ { "\_id" : ObjectId("5f89f71f526ef077555fe4ac"), "assunto" : ["JavaScript", "C#", "Python"] }
Usaremos 또는 método
.aggregate
para Consultar e verificar se há duplicatas em uma matriz nos documentos da nossa coleção:db.demo.aggregate([{"$project": {"assunto":1}}, {"$unwind":"$assunto"}, {"$group": {"\_id":{"\_id":"$\_id", "Name":"$assunto"}, "count":{"$sum":1}}}, {"$match": {"count":{"$gt":1}}}, {"$group": {"\_id": "$\_id.\_id", "assunto":{"$addToSet":"$\_id.Name"}}}])
다음 결과에 대해 자세히 알아보기:
/\* 1 \*/ { "\_id" : ObjectId("5f89ff1f526ef077555fe4b0"), "assunto" : ["MySQL"] } /\* 2 \*/ { "\_id" : ObjectId("5f89ff24526ef077555fe4b1"), "assunto" : ["C+"] }
O 포스트 Como Verificar Itens Duplicados no Array no MongoDB apareceu primeiro em Henrique Marques Fernandes .
Reference
이 문제에 관하여(Como Verificar Itens Duplicados no Array no MongoDB), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shadowlik/como-verificar-itens-duplicados-no-array-no-mongodb-4m3j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)