为了账号安全,请及时绑定邮箱和手机立即绑定

MongoDB的基本操作命令

标签:
MongoDB

启动MongoDB服务

MongoDB官网下载安装,配置环境,在/bin同级目录下创建目录 /data/db,命令./bin/mongod即可启动MongoDB服务(由于我没有配置全局环境变量,所以需要在后边加上/data/db文件夹的全局路径)。

打开新的窗口,执行mongo命令即可进入MongoDB的命令行模式。

基本操作命令

show dbs // 列出所有数据库 。

use test // 创建及切换数据库,此处直接创建test数据库。

插入及查询命令

db.user.insert({name:'lujing'}) // 没有user表,则系统会默认创建;db.表名.insert()插入数据库,insert()函数参数为JSON字符串,可带多个参数。

db.user.find() // 查询数据库,查询参数为JSON字符串,参数为空表示查询所有。'_id' 字段为Mongodb数据库默认生成的全局唯一的字段;"_id"也可自己定义,但不能重复,不建议自己创建_id字段。

show.collections() // 列出所有当前库下的所有表。

db.user.count() // 统计表记录数量。

更新命令

db.user.update({name:'lujing'},{age:18}) // 更新操作,update()函数至少接收两个参数,第一个为更新条件,第二个参数为更新内容;但是看到更新之后发现age属性更新成功,但是name属性被覆盖掉了,所以此处我们使用 $set更新操作符,只会更新存操作符后边的对应字段,不存在的保持不变。

db.user.update({name:'lisi'},{age:99},true) // 当有 更新时不存在的则插入 的需求是,则可以将第三个参数设置为true。如下图,在没有设置第三个参数时试图将{name='lisi'}的那条记录的age属性更新为99,但是没有一条记录收到影响;当添加第三个参数后,则Upsert成功。

db.user.update({name:'金刚狼'},{name:'钢铁侠'},false,true) // 试图将{name=金刚狼}的记录改为钢铁侠,但由于MongoDB自身安全机制的限制,只更新了其中的一条;这是需要用到第四个进行批量更新。同样也由于MongoDB的安全机制的限制,在批量更新是必须使用$set操作符才能更新成功。


删除

db.user.remove() // remve操作不允许直接删除一张表,‘ERROR:remove needs a query’,必须输入删除条件。

db.user.drop() //  可以直接删除一张表

db.user.remove({name:'lisi'});  // 删除{name:'lisi'}的记录,不同于update操作,可直接删除多条记录

db.user.find().skip(2).limit(2).sort({age:1})  // 再来一个综合查询:skip(2)及查询的结果集取消前两个;limit(2)及只需要返回两条记录,skip()和limit()函数结合可用于分页查询;sort({age:1})代表age字段正向排序

各位看官有问题可在下方评论区留言。



作者:京少
链接:https://www.jianshu.com/p/e5e45c201f2f

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消