使用集合testupdate的数据根据CUSTNO对集合test的数据进行操作
一、先删除后插入
db.testupdate.find().forEach(function(m){ var poc=db.test.find({CUSTNO:m.CUSTNO}); if(poc!=null) { db.test.deleteOne({CUSTNO:m.CUSTNO}); db.test.insertOne(m); } else { db.test.insertOne(m); } });
二、直接UPDATE
db.testupdate.find().forEach(function(m){ db.test.update( {CUSTNO:m.CUSTNO},{$set:m},{upsert:true} ); });
UPDATE所做的操作:集合testupdate中有的字段根据CUSTNO判断是否在test中有相同CUSTNO的集合,
如果没有:直接进行insert集合
如果有:
A、key相同时将testupdate集合中key对应的value更新到test中
B、testupdate中有key,test中没有相同的key时,对test集合进行新增没有的key:value
C、test中有key,testupdate中没有相同的key时,不对该部分key:value做操作
参考链接:https://blog.csdn.net/sharetop/article/details/50132149
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29668428/viewspace-2564618/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29668428/viewspace-2564618/