数据库

 首页 > 数据库 > MongoDB > MongoDB数据库实用命令分享

MongoDB数据库实用命令分享

分享到:
【字体:
导读:
         摘要:1、db.copyDatabase(blog,blog2)//复制数据库2、db.dropDatabase()//删除数据库blog23、在多台服务器之间复制数据库db.copyDatabase(blog,blog,192.168.1.202)//从源服务器复制blog数据库。usenewsswitchedtodbne...

MongoDB数据库实用命令分享

1、 db.copyDatabase("blog", "blog2") // 复制数据库

2、 db.dropDatabase() // 删除数据库 blog2

3 、在多台服务器之间复制数据库 db.copyDatabase("blog", "blog", "192.168.1.202") // 从源服务器复制 blog 数据库 。

> use news

switched to db news

> db.cloneDatabase("192.168.1.202") // 从源服务器克隆当前数据库(news)

4、 当我们使用 use 切换到某个数据库时,变量 db 表示当前数据库。还可以用 getSisterDB() 函数获取其他数据库的引用。

> blog = db.getSisterDB("blog")

blog

> blog.users.insert({name : "abc"})

> blog.users.find({name : "abc"})

5、 索引信息被保存在 system.indexes 中,且默认总是为 _id 创建索引。

ensureIndex / dropIndex / reIndex

使用 ensureIndex 创建索引,dropIndex() 删除索引,dropIndexes() 删除全部索引(不包括 _id 等系统索引)。

> db.users.ensureIndex({name:1})  

> db.users.ensureIndex({age:1})  

> db.system.indexes.find()  

6. Unique Index

只需在 ensureIndex 命令中指定 unique 即可创建唯一索引。

> db.users.ensureIndex({name:1}, {unique: true })  

> db.system.indexes.find()  

7. totalIndexSize

MongoDB 会将索引数据载入内存,以提高查询速度。我们可以用 totalIndexSize 获取全部索引数据大小。

8、dbpath & port

默认数据存储路径是 /data/db,默认端口 27017,默认 HTTP 端口 28017。用 --dbpath 和 --port 改吧

9. daemon

如果想以 Daemon 方式运行,需要同时使用 --fork、--logpath 参数。 

10、排序 db.users.find().sort({age:-1}).limit(10000)

11、 Replica Sets 11.

Replica Sets 使用 n 个 Mongod 节点,构建具备自动容错转移(auto-failover)、自动恢复(auto-recovery) 的高可用方案。通常使用 3 个 mongod 实例,或者 2 mongod + 1 arbiter 方案。

/home/qiyk/tool/mongodb/bin/mongod -port 27017 -replSet myset -dbpath=/home/qiyk/tool/mongodb/data/db -fork -rest -logpath=/home/qiyk/tool/mong
odb/data/log/all.log
 /home/qiyk/tool/mongodb/bin/mongod -port 27027 -replSet myset -dbpath=/home/qiyk/tool/mongodb/data/db2 -fork -rest -logpath=/home/qiyk/tool/mo
ngodb/data/log/all2.log
 /home/qiyk/tool/mongodb/bin/mongod -port 27037 -replSet myset -dbpath=/home/qiyk/tool/mongodb/data/db3 -fork -rest -logpath=/home/qiyk/tool/mo
ngodb/data/log/all3.log

然后:> cfg={_id:"myset",members:[
... ... {_id:0,host:"10.20.155.10:27017"},
... ... {_id:1,host:"10.20.155.10:27027"},
... ... {_id:2,host:"10.20.155.10:27037"}]};

> rs.initiate(cfg)
;
{
        "info" : "Config now saved locally.  Should come online in about a minute.",
        "ok" : 1
}

如此 Replica Sets 就算配置成功。

相关配置数据保存在 local 数据库中。

12. #只允许某ip访问 
$ mongod --bind_ip 127.0.0.1

13、Mongo Database Profiler

也可以在客户端调用db.setProfilingLevel(级别) 命令来实时配置。可以通过db.getProfilingLevel()命令来获取当前的Profile级别。


>  db.setProfilingLevel(2);  

{"was" : 0 , "ok" : 1}  

>  db.getProfilingLevel()  

上面斜体的级别可以取0,1,2 三个值,他们表示的意义如下:

0 ? 不开启

1 ? 记录慢命令 (默认为>100ms)

2 ? 记录所有命令

MongoDB数据库实用命令分享
分享到:
MongoDB数据库中查询的使用方法
MongoDB数据库中查询的使用方法  1.find MongoDB使用find来进行查询.查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合.find的第一个参数 决定了要返回哪些文档.其形式也是一个文档,说明要查询的细节. 空的查询文档{}会匹配集合的全部内容.要是不指定查询文档,默认是{}. 如:db.users.find()...
MongoDB服务的启动与关闭
MongoDB服务的启动与关闭 Mongodb的开启 默认启动: $ ./mongodb 默认数据保存路径:/data/db/ 默认端口:27017 修改默认路径: --dbpath $ ./mongdb --dbpath /mongodb/ 把数据存储位置指向一个自己的目录/mongodb/ 修改默认端口: --port $ ./mongdb --port 20111 把服务端口修改为20...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……