1、数据添加
添加一条数据,json格式。
db.goods.insert({name:'电脑',price:5600,goods_num:'00001',click_num:1});
db.goods.insert({_id:1,name:'苹果',color:'red',price:12});
添加多条数据,json数组。
db.goods.insert([{type:'锅',name:'平底锅',price:300},{_id:2,name:'鱼',num:304}]);
注意,如果json中没有_id列,会默认生成一个_id,指定_id的时候不能重复,collection中_id唯一。
下面是插入的4条数据:
{ "_id" : ObjectId("5d3efadd7dc39a8207a088c4"), "name" : "电脑", "price" : 5600, "goods_num" : "00001", "click_num" : 1 }
{ "_id" : 1, "name" : "苹果", "color" : "red", "price" : 12 }
{ "_id" : ObjectId("5d3efcf97dc39a8207a088c7"), "type" : "锅", "name" : "平底锅", "price" : 300 }
{ "_id" : 2, "name" : "鱼", "num" : 304 }
2、数据修改,$set、multi
将_id为1的数据,name列的值改为"苹果2" :
db.goods.update({_id:1},{name:'苹果2'}); 执行结果 只有_id、name两列,其余的列都没了。
db.goods.update({_id:1},{$set:{name:'苹果2'}}); 执行结果 只是修改了name列,其余的不变。
以上只会修改一条记录,修改多条需要添加属性,multi:true,举例如下:
(1)原始数据:db.person.find();
{ "_id" : 1, "name" : "张三", "sex" : "n", "address" : "北京朝阳" }
{ "_id" : 2, "name" : "张三", "sex" : "n", "address" : "北京朝阳" }
执行语句:db.person.update({name:'张三'},{$set:{address:'北京朝阳2'}});
执行后数据:db.person.find();
{ "_id" : 1, "name" : "张三", "sex" : "n", "address" : "北京朝阳2" }
{ "_id" : 2, "name" : "张三", "sex" : "n", "address" : "北京朝阳" }
结果:只修改了一条。
(2)原始数据:db.person.find();
{ "_id" : 1, "name" : "张三", "sex" : "n", "address" : "北京朝阳" }
{ "_id" : 2, "name" : "张三", "sex" : "n", "address" : "北京朝阳" }
执行语句:db.person.update({name:'张三'},{$set:{address:'北京朝阳2'}},{multi:true});
执行后数据:db.person.find();
{ "_id" : 1, "name" : "张三", "sex" : "n", "address" : "北京朝阳2" }
{ "_id" : 2, "name" : "张三", "sex" : "n", "address" : "北京朝阳2" }
结果:所有都修改了。用 multi:true 必须要用 $set。
3、删除数据
db.person.remove({name:'李四'}); 删除列名为李四的行
db.person.remove({}); 删除全部数据