遇到的问题:
昨天在使用MongDB数据库的遇到这样的一个问题:我想给一个集合插入数据,可是插入的时候对于重复的数据,不想插入。遇到不同的数据或者不同的字段的时候,我就插入数据或者更新某些字段。可能用语言描述不清楚,直接看代码,就比较明了。
解决办法:
在mongodb数据库里面做更新操作的要使用update()方法,update()里面有有个参数叫$setOnInsert和upsert,他的功能就是对于对已存在的则不执行操作。
上代码:
首先,向一个集合插入一些数据:
db.goods.insert({"goodsname":"apple","goodsdes":"hahaha","goodscount":2})
db.goods.find()
插入数据,遇到相同的字段值时,不执行后面的操作。
db.goods.update({"goodsname":"apple"},{$setOnInsert:{"goodsdes":"enenen"}},{upsert:true})
db.goods.find()
插入数据,遇到不同的字段值时候,执行后面的操作。
db.goods.update({"goodsname":"banana"},{$setOnInsert:{"goodsdes":"enenen"}},{upsert:true})
db.goods.find()
在插入数据,如果遇到相同的字段值,想要更新其他字段的时候,可以这样做:
db.goods.update({"goodsname":"apple"},{$setOnInsert:{"goodsdes":"enenen"}, $set:{"goodscount":3}},{upsert:true})
db.goods.find()
哈哈哈,我是知识的搬运工。这也是参考别人的,不过分享给大家,希望对大家帮助。