Mongodb 从mongo db集合中删除重复记录
下面是我的收藏,您能告诉我如何编写代码从下面的收藏中删除重复记录吗?收藏中有重复记录,请向我解释如何从收藏中删除重复记录Mongodb 从mongo db集合中删除重复记录,mongodb,mongodb-query,Mongodb,Mongodb Query,下面是我的收藏,您能告诉我如何编写代码从下面的收藏中删除重复记录吗?收藏中有重复记录,请向我解释如何从收藏中删除重复记录 /* 1 */ { "_id" : ObjectId("5e84200bdf949c00404ed5ff"), "area" : "573", "bc" : "GER", "bd" : "5
/* 1 */
{
"_id" : ObjectId("5e84200bdf949c00404ed5ff"),
"area" : "573",
"bc" : "GER",
"bd" : "52001450",
"bg" : "52001450",
"borg" : "cde5642",
"bsg" : "51585929",
"bsgname" : "INFO TECHNOLOGY",
"consulting" : null,
"mobilePhoneNumber" : null,
"cfax" : null,
"l" : "BERL",
"cpgr" : null,
"o" : "S",
"friendlyCountryName" : "Germ",
"ctel" : "+49",
"mail" : "tl2625@ge.at.com",
"exch" : "204",
"ext" : "5408",
"facsimileTelephoneNumber" : null,
"givenName" : "POMAS",
"employeeNumber" : "0249527",
"jt" : "MC",
"jtname" : "FLEX FORCE ENGINEER IV",
"sn" : "LEMP",
}
/* 2*/
{
"_id" : ObjectId("5e84200bdf949c00404ed601"),
"area" : "573",
"bc" : "GER",
"bd" : "52001450",
"bg" : "52001450",
"borg" : "cde5642",
"bsg" : "51585929",
"bsgname" : "INFO TECHNOLOGY",
"consulting" : null,
"mobilePhoneNumber" : null,
"cfax" : null,
"l" : "BERL",
"cpgr" : null,
"o" : "S",
"friendlyCountryName" : "Germ",
"ctel" : "+49",
"mail" : "tl2625@ge.at.com",
"exch" : "204",
"ext" : "5408",
"facsimileTelephoneNumber" : null,
"givenName" : "POMAS",
"employeeNumber" : "0249527",
"jt" : "MC",
"jtname" : "FLEX FORCE ENGINEER IV",
"sn" : "LEMP",
通过下一段代码,您可以找到重复的记录。 (提示:使用其他字段更改
…,
。)
然后通过过滤\u id
删除结果:
cursor.forEach(function (doc){
... db.collection.remove({"_id": doc.assets[0].assets_id});
... });
现在你只需要填写
…
你的其他字段,比如我填写的区域和sn
。你怎么能有两个具有相同objectId的文档?是的,更新了专家,谢谢。如果文档重复,你可以在“employeeNumber”上使用这个答案:“0249527”,如何删除重复的EmployeesHanks专家,请您更新我的查询需要如何更改。如果您对…
注释有疑问,我会再次编辑答案。感谢专家,如果我的集合类似于:db.getCollection('employeerecords')。查找({})如何输入上述查询…我还需要创建新集合,添加重复记录,然后需要删除以进行测试。aggregate
方法比find更复杂,
find
只需根据一些过滤器查找记录,但聚合在每个步骤都有多个阶段(find
有一个步骤)您可以使用新字段创建半表,最后,您可以通过project
创建属性字段!因此,我建议您通过替换集合的名称来运行上述命令,然后删除结果ID。对于创建db.getCollection('employeerecords')。插入({..})
用任意字段填充..
,然后重复插入多次。但重复记录可以输入到集合中,我指的是列和值,但对象ID是唯一的。
cursor.forEach(function (doc){
... db.collection.remove({"_id": doc.assets[0].assets_id});
... });