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字段正向排序

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • NoSql数据库优缺点 在优势方面主要体现在下面几点: 简单的扩展 快速的读写 低廉的成本 灵活的数据模型 在不足...
    dreamer_lk阅读 7,775评论 0 6
  • 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。 输入help可以看到基...
    你本来就很牛阅读 28,774评论 0 3
  • 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本...
    精气神贯通阅读 3,301评论 0 0
  • 最近在学习MongoDB,整理梳理一下各种命令,怕以后忘记,以后可以自己查阅! 常用的方法: 示例: 文件导出至J...
    Kalvin_Tse阅读 4,200评论 3 3
  • 目录 查询操作 集合查询方法 find() 查询内嵌文档 查询操作符(内含 数组查询) "$gt" 、"$gte"...
    彩虹之梦阅读 4,690评论 0 1

友情链接更多精彩内容