资讯专栏INFORMATION COLUMN

mongodb常用命令操作

goji / 3105人阅读

摘要:如已存在数据,再次进行插入操作时,会报主键重复的错误提示会把修改为。使用函数,参数指定查询条件,不指定条件则查询全部记录。年龄为或者名字为,年龄在中,。

基本命令

显示当前数据库服务器上的数据库
show dbs

切换到指定数据库的上下文,可以在此上下文中管理testdb数据库以及其中的集合等
use testdb

显示数据库中所有的集合(collection)
show collections

查看数据库服务器的状态
db.serverStatus()

查询指定数据库统计信息
use fragment

db.stats()

基本DDL和DML

创建数据库。
直接通过use dbname来切换到这个数据库上下文下面,系统会自动延迟创建该数据库。

use testdb
show dbs (此刻可能testdb数据库并没有被创建)
db (显示当前使用的数据库,结果位testdb)
db.storeCollection.save({"version":"3.5", "segment":"e3ol6"})  (插入一条数据)
show dbs (此刻能看到testdb被创建)

删除数据库。
直接使用db.dropDatabase()即可删除数据库。

创建集合。

db.createCollection("replicationColletion", {"capped":true, "size":10240, "max":17855200})
show collections 

删除集合。

db.mycoll.drop()

增加纪录。

两种插入方法

db.storeCollection.save({"version":"3.5", "segment":"e3ol6"})
db.storeCollection.insert({"version":"3.5", "segment":"e3ol6"})

若新增的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。
如:
已存在数据: {_id : 1, " name " : " n1 " },再次进行插入操作时,
insert({_id : 1, " name " : " n2 " }) 会报主键重复的错误提示
save({ _id : 1, " name " : " n2 " }) 会把 n1 修改为 n2 。
相同点:
若新增的数据中没有主键时,会增加一条记录。
已存在数据: { _id : 1, " name " : " n1 " },再次进行插入操作时,
insert({ " name " : " n2 " }) 插入的数据因为没有主键,所以会增加一条数据
save({ " name " : " n2 " }) 增加一条数据。

循环插入

for(var i = 1; i < 100; i++) {

   db.testCollection.insert({
       age : i % 7,
       name : "name" + Math.round((10 + 20 * Math.random())),
       password : "123456"
   })

}

更新记录。

db.testCollection.update({age: 6}, {$inc: {age: 1}}) //选择age为6的一条记录,使他的age加1.
db.testCollection.update({age: 7}, {$set: {password : "456789"}}) //选择age为7的一条记录,设置password为456789

//如果条件不匹配一个记录,希望能往数据库里新增一个,设置update函数第三个参数为true就可以。这里age为8条件匹配不到数据。
db.testCollection.update({age: 8}, {$set: {password : "888888"}}, true)


//若要批量更新,设置update函数第四个参数为true就可以了。
db.testCollection.update({age: 7}, {$set: {password : "456789"}}, true, true)

更新version为3.5的记录的segment值。

查询一条纪录。

db.storeCollection.findOne({"version":"3.5"})

参数为查询条件,可选,系统会随机查询获取到满足条件的一条记录(如果存在查询结果数量大于等于1)。

查询多条记录。

db.storeCollection.find()

使用find()函数,参数指定查询条件,不指定条件则查询全部记录。
条件查询包括4种方法:

// 1. $gt(>)、$gte(>=)、$lt(<)、$lt(<=)、$ne(!=)、没有特殊关键字(=)

db.testCollection.find({age: {$$gt:5}}).count() //14。note:去掉gt前面一个$符号,$符号会被解析,wiznote搞的鬼!!!

db.testCollection.find({age: {$gte:5}}).count() //28

db.testCollection.find({age: {$lt:5}}).count() //71

db.testCollection.find({age: {$lte:5}}).count() //85

db.testCollection.find({age: {$ne:5}}).count() //85

db.testCollection.find({age: 5}).count() //14

// 2. 没有特殊关键字(&&)、 $or(||)、$in()、$nin()

db.testCollection.find({age: {$$gt: 5}, password:"123456"}).count() //年龄大于5且密码为123456, 14。

//年龄为5或者名字为name26,18
db.testCollection.find({$or:[{age: 5},  {name:"name26"}]}).count() 

db.testCollection.find({age: {$in: [1,5, 6]}}).count() //年龄在1、5、6中,43。

db.testCollection.find({age: {$nin: [1,5, 6]}}).count() //年龄不在1、5、6中,56

// 3. 正则表达式匹配,威力强劲
db.testCollection.find({name: /^name1d/}).count() //名字以name1开头的,从name10到name19的记录。41

//4. where语句,大招来了
db.testCollection.find({$where:function(){return this.age > 5} }).count()

删除纪录

db.storeCollection.findOne({"version": "3.5"})   (删除version为3.5的纪录)
db.storeCollection.findOne({"version": "3.5"})   (返回结果为空)

统计集合记录数

db.storeCollection.count()

查询并统计结果记录数

db.storeCollection.find({"segment":"e30l8"}).count()
参考链接

> csdn
cnblogs

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18836.html

相关文章

  • MongoDBmongodb安装及常用操作命令

    摘要:二中常用命令显示数据库列表显示当前数据库中的集合类似关系数据库中的表显示用户切换当前数据库,如果数据库不存在则创建数据库。注意操作同时可以创建数据库,如果一个不存在的数据库名,则执行后,会创建对应数据库。如果指定字段,则会更新该的数据。 ..............................................................................

    fish 评论0 收藏0
  • mongodb 备份、还原、导入、导出简单操作

    摘要:还原导出的表数据部分字段的表数据导入还原文件 一、 mongodump备份数据库 1.一般常用的备份命令格式 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果想导出所有数据库,可以去掉-d 2.导出数据库[root@local ~]# mongodump -h 127.0.0.1 --port 30216 -d t...

    KitorinZero 评论0 收藏0
  • 一篇文章入门MongoDB

    摘要:既是数据库,又是内存数据库,而且它是现在最强大最流行的数据库。所以相对于的真内存数据库而言,只是将大部分的操作数据存在内存中。 MongoDB既是NoSQL数据库,又是内存数据库,而且它是现在最强大、最流行的NoSQL数据库。区别与别的NoSQL数据库,MongoDB主要是基于Documents文档(即一条JSON数据)的。 MongoDB的特点: NoSQL数据库 内存数据库 存储...

    felix0913 评论0 收藏0
  • mongodb常用命令

    摘要:是的简称,是一个文档对象的二进制编码格式。有以下三个特点轻量级跨平台效率高命名空间存储对象到这一系列的数据库名和名被称为一个命名空间。 mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理。关于它的一个最简洁描述为:scalable, high-performance, open source, schema-free, d...

    DTeam 评论0 收藏0
  • 简明 MongoDB 入门教程

    摘要:在配置的时候使用绝对路径替代相对路径,有利于在排查故障时查找进程启动的目录。在添加授权用户和开启认证后,这些警告会自动消失。投影文档中字段为或真值表示包含,或假值表示排除,可以设置多个字段为或,但不能混合使用。 MongoDB 是免费开源的跨平台 NoSQL 数据库,命名源于英文单词 humongous,意思是「巨大无比」,可见开发组对 MongoDB 的定位。与关系型数据库不同,Mo...

    terro 评论0 收藏0

发表评论

0条评论

goji

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<