在上一篇文章中我们已经讲了mongodb怎么安装和数据库/表的创建。在这里我们讲mongoDB的数据库操作
在mongo中对于不存在的表当你用db.表名 他会自动统计
下边用到的user是表明,db代表的是数据库
添加(insert):
db.user.insert({name:'zhangsam',age:12});
添加多条数据
db.user.insert([{name:'zhangsan1',age:13},
{name:'zhangsna2',age:12}])
查询(find())
db.user.find(); 查询user所有(相当于select * from user)
查询制定条件的数据
db.user.find({name:'zhangsn'});
查询user下边的name列
db.user.find({},{name:1,_id:0})
只显示name这一列(_id不显示) grade等于1
db.user.find({grade:1},{name:1,_id:0})
删除表
db.user.drop()
删除那一条数据
db.user.remove({age:12});
remove中有第二个参数justtrue :true/false 默认是false
Pg:db.user.remove({age:12},true) 只删除一条
删除数据库
db.dropDatabase();
修改数据:$set multi
Pg:
db.user.update({name:'zhangsa'},{name:'zhansi'});
修改user中name等于zhangsa 的修改成name等于 zhansi,这个时候name中等于zhangsa的其他列也都没有了
修改制定的列,不影响别的列 (默认修改一行,如果修改多行,使用multi)
Pg:
db.user.update({name:'zhangsa'},{$set:{name:'yanp'}})
db.user.update({name:'zhangsa'},{$set:{name:'zhang'}},{multi:true})
添加一列$inc
db.user.update({name:'zhangsa'},{$inc:{sex:500}})
修改列名$rename
db.user.update({name:'zhnagsa'},{$rename:{sex:'gender'}})
删除一列$upset
db.user.update({name:'zhangsa'},{$unset:{gender:'m'}})
联合使用
db.user.update({name:'zhangs'},{$set:{name:'yangp'}},{$inc:{sex:500}})
修改的时候当一个列不存在直接添加进去$upsert
db.user.update({name:'zhangs'},{$set:{name:'nihao'}},{$upsert:true})
修改的时候当添加进去列的时候,设置列的值$setOnInsert
db.user.update({name:'zhangs'},{$set:{name:'nihaos'},$setOnInsert{sex:'nan'}},{$upsert:true})