1.克隆collection
命令格式:
>db.runCommand({coloneCollection:"db_name.collection_name",from:"dest_server_ip:port"})
说明,在使用时把db_name替换成数据库名称,把collection_name替换成集合名称,dest_server_ip是代表远程数据库的宿主机ip地址,port代表端口号。
2.复制数据库
命令:copyDatabase(fromdb,todb,fromhost)
参数说明:
fromdb:源数据库名称
todb:目标数据库名称
fromhost:源数据库地址
> db.copyDatabase("from_db","to_db","192.168.120.133");
如果是在本地复制数据库,则只要把fromhost设置为本机,即localhost即可。
3.刷新磁盘
在Mongodb中使用db.runCommand({fsync:1})命令可以将内存中尚未写入磁盘的信息写入磁盘,并锁住对数据库更新的操作,但读操作还能继续,如下所示(注:fsync命令只能在admin库上进行操作):
> use admin
switched to db admin
> db.runCommand({fsync:1})
{ "numFiles" : 5, "ok" : 1 }
>
验证数据库状态:db.currentOp()
> db.currentOP()
{ "inprog" : [ ] }
>
通过指定参数lock:1来锁定数据库的写操作:
> db.runCommand({fsync:1,lock:1})
{
"info" : "now locked against writes, use db.fsyncUnlock() to unlock",
"seeAlso" : "http://www.mongodb.org/display/DOCS/fsync+Command",
"ok" : 1
}
> db.users.insert({"name":"yangbei"})
如上所示,当我在锁定对数据库的写操作后,如果我执行写操作,则该连接session会处于阻塞等待状态
解锁:db.$cmd.sys.unlock.findOne()
> use admin
switched to db admin
> db.$cmd.sys.unlock.findOne()
{ "ok" : 1, "info" : "unlock completed" }
> db.currentOP()
{
"inprog" : [ ],
"fsyncLock" : 1,
"info" : "use db.fsyncUnlock() to terminate the fsync write/snapshot lock"
}
>
4.数据压缩
命令:db.repairDatabase()
介绍:repairDatabase是Mongodb内置的一个方法,调用这个方法Mongodb会扫描数据库中所有的数据,并将通过导入/导出来重新整理数据集合,将碎片清理干净。但这个方法会导致整个db的读写操作变得非常缓慢,所以最好是采用停机维护的方式,即直接停止客户端的写入操作之后再进行清理。
在执行此命令时会对数据库进行加锁操作,如果命令未执行完或强制中断session,该锁依然存在,需要使用db.$cmd.sys.unlock.findOne()命令显示解锁。
分享到:
相关推荐
以上只是MongoDB操作命令的基础部分,实际使用中还有更多高级功能,如聚合框架、地理空间查询、TTL索引等。在进行MongoDB操作时,理解这些命令以及它们如何协同工作对于有效管理和优化数据库至关重要。 为了更深入...
MongoDB的`runCommand`命令是数据库操作中的一个重要工具,它允许用户执行一系列高级操作,这些操作不能通过标准的查询语法完成。`runCommand`接收一个文档作为参数,该文档包含要执行的具体命令和可能的选项,然后...
在实际应用中,你可能还需要了解如何创建和管理数据库(`use`,`db.createCollection`),索引(`createIndex`),备份与恢复,以及复制集和分片等高级特性,这些都是MongoDB数据库管理员和开发人员必须掌握的核心...
这些命令是MongoDB日常操作的基础,熟练掌握它们将有助于你更好地管理和使用MongoDB数据库。在实际操作中,还可以结合`explain`了解查询性能,使用`db.runCommand()`执行更复杂的管理操作。对于更高级的用法,建议...
此外,MongoDB的高级管理还包括查看数据库异常信息,这是通过特定命令来实现的,比如`db.currentOp()`可以查看当前数据库中所有的操作和状态,帮助数据库管理员及时发现并解决问题。 在数据库性能优化方面,MongoDB...
#### 第二部分:MongoDB高级实战开发 **第8讲:高级查询** - 正则表达式匹配、文本搜索等高级查询技巧。 - `$lookup`操作符实现多集合联合查询的方法。 - 使用聚合框架进行复杂查询示例。 **第9讲:性能调优** - ...
MongoDB的`runCommand`命令是数据库操作中的一个重要工具,它允许用户执行一系列高级操作,如数据统计、数据库维护、服务器状态检查等。在MongoDB中,命令实际上是通过查询`$cmd`集合来实现的,这不同于常规的数据...
这包括了插入、查询、更新和删除文档的基本命令,以及统计信息、索引管理等高级功能。 - `db.collectionName.help()`:针对特定集合提供帮助信息。例如,如果你有一个名为 `users` 的集合,运行 `db.users.help()` ...
本篇文章将详细探讨MongoDB中的索引管理以及高级索引概念。 1. **查看索引** MongoDB 提供了两种方法来查看集合上的索引。`db.COLLECTION_NAME.getIndexes()` 方法返回集合上所有索引的详细信息,而 `db.system....
14. **复制集管理**:MongoDB支持复制集以实现高可用性和数据冗余,相关命令包括`rs.initiate()`, `rs.add()`, `rs.remove()`等。 15. **备份与恢复**:`mongodump`和`mongorestore`工具分别用于备份和恢复数据库,...
这些高级特性使得MongoDB成为处理大量半结构化和非结构化数据的理想选择。 在实际应用中,理解并熟练掌握这些基础命令是使用MongoDB的关键。通过组合使用这些操作,你可以有效地管理MongoDB中的数据,进行数据存储...
理解如何配置和管理分片集群是MongoDB高级主题。 6. 高可用性:MongoDB的复制集(Replica Set)机制可以确保数据的冗余和故障转移,提高服务的连续性。学习如何设置和管理复制集至关重要。 7. 聚合框架:MongoDB的...
1. **mongodb快速入门-基本操作.doc**:这份文档可能介绍了MongoDB的基本概念,如数据库、集合、文档,以及插入、查询、更新和删除数据的基本命令。 2. **php操作mongodb和mongodb的权限机制.doc**:这个文档应该...
3. **脚本支持**:支持JavaScript和MongoDB Shell命令,方便执行脚本和命令操作。 4. **数据导入导出**:支持CSV、JSON、XML等多种格式的数据导入和导出,便于数据迁移和备份。 5. **性能监控**:提供实时的性能指标...
MongoDB还提供了许多高级功能,如聚合框架,用于处理复杂的分析任务;地理空间索引,支持地理位置相关的查询;以及TTL(Time To Live)索引,可以自动删除过期数据。此外,MongoDB的连接池管理、权限控制和审计功能...
本文将深入探讨在MongoDB中执行的一些常用操作命令,这些命令对于管理和维护MongoDB数据库至关重要。 1. **创建用户和权限管理** - `db.addUser("name")`: 这个命令用于在当前数据库中创建一个新的用户。"name"是...
对于数据库的管理,MongoDB提供了多种操作命令,包括但不限于切换/创建数据库、查询所有数据库、删除当前使用的数据库、克隆数据库、查看当前使用的数据库及其版本等。同样,集合的管理也是数据库管理的重要部分,...
MongoDB的管理命令非常直观,例如使用showdatabases查看所有数据库,选择数据库使用use命令后跟库名。如果数据库不存在,MongoDB会在执行第一次写操作时自动创建该数据库。使用db.dropDatabase()可以删除当前数据库...