首页 > 代码库 > 4. mongodb插入,修改,删除操作
4. mongodb插入,修改,删除操作
- mongodb插入操作
语法: db.collection.save(collections); OR db.collection.insert(collections);
插入有上面两种方式。
1. 借用对象来插入
>item={id:1,name:"hello"}>db.lottu.insert(item)
2. 循环插入数据;一下子插入5条记录这种很不错吧
>for(i=1;i<=5;i++)db.lottu.insert({id:i,name:"kk"})
3. 查看数据
- mongodb修改操作
语法: db.collection.update(c1,$set,multi,upsert)
1. 更新一条记录
更新id=2的记录name为lottu
>update lottu set name = ‘lottu‘ where id=2
接下来我调皮了;想把id=1的记录那么也改为lottu
奇怪的是:为什么只更新一条记录。
2. 更新多条记录
这里我们来找解决方案。在mongodb更新多条需要添加multi(多)这个参数为true
>db.lottu.update({id:1},{$set:{name:"li0924"},{multi:true}})
更新成功。看来我没有骗你
总结:不加multi参数;默认是只更新一条。添加{multi:true}才可以更新多条
3. 更新不存在的记录。
在oracle中更新不存在的记录;记录不会改变。在mongodb呢?
更新id=10的记录
这个当然在mongodb也是没有改变的。没有改变是我没添加upsert参数;现在我添加下
这个好像没有记录;可以添加。这个有点类似于merge into语句。但是概念不一样。
总结:{upsert:true},这条记录没有则添加。
- mongodb删除操作
语法:db.collecion.remove(c1)
这里remove相当于sql中delete语句
例如删除id为10;id为5的记录
>delete from lottu where id = 10;
>delete from lottu where id = 5;
这个没什么好解释的。
>delete from lottu呢?删除所有记录呢
是不是就是db.lottu.remove()
结果是:db.lottu.remove({})
我们知道delete可以删除记录;但是不会删除表。这个当然在mongodb也是一样
只有对drop table这个表就会删除对象。
而mongodb中的drop呢?
4. mongodb插入,修改,删除操作