我想用组制作唯一键我当时正在使用mongodb数据库,我使用json文件插入数据我的json文件数据如下:
{
'name' : 'abc',
'mobileno': '2301658146',
'provider': 'Airtel'
}
{
'name' : 'abc',
'mobileno': '2301658146',
'provider': 'docomo'
}
如果mobileno和provider与现有记录匹配,则覆盖现有记录,否则插入新记录。
答案 0 :(得分:0)
您可以使用upsert来执行您想要的操作:
db.mobile.update({ '_id':{'mobileno': '2301658146', 'provider': 'Airtel'}}, {'name' : 'abc'}, {upsert:true})
db.mobile.update({ '_id':{'mobileno': '2301658146', 'provider': 'docomo'}}, {'name' : 'abc'}, {upsert:true})
<强>结果强>:
{ "_id" : { "mobileno" : "2301658146", "provider" : "Airtel" }, "name" : "abc" }
{ "_id" : { "mobileno" : "2301658146", "provider" : "docomo" }, "name" : "abc" }
使用相同的_id.mobileno
和_id.provider
再次运行相同的命令将更新现有文档:
db.mobile.update({ '_id':{'mobileno': '2301658146', 'provider': 'Airtel'}}, {'name' : 'xyz'}, {upsert:true})
<强>结果强>:
{ "_id" : { "mobileno" : "2301658146", "provider" : "Airtel" }, "name" : "xyz" }
{ "_id" : { "mobileno" : "2301658146", "provider" : "docomo" }, "name" : "abc" }