您的位置:首页 > 数据库 > Mongodb

MongoDB的基本操作命令

2017-06-26 11:33 316 查看



启动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.u
a3cb
ser.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字段正向排序



各位看官有问题可在下方评论区留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息