【问题标题】:Data storage in mongodbMongoDB中的数据存储
【发布时间】:2014-01-28 12:13:15
【问题描述】:

首先请原谅我问了一个愚蠢的问题,但我是 mongodb 的新手,只是按照这个安装指南将它安装在我的 windows 平台上:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

它说“MongoDB 需要一个数据文件夹来存储其文件。MongoDB 数据目录的默认位置是 C:\data\db。您可以使用 mongod 的 --dbpath 选项指定数据文件的备用路径。 exe。”

于是我在我的电脑中创建了一个文件夹 d://data/db 并发出了一个命令 C:\mongodb\bin\mongod.exe --dbpath d:\mongodb\data

然后它说 "在 mongo.exe 提示符下,发出以下两条命令,在默认测试数据库的测试集合中插入一条记录,然后检索该记录:

db.test.save( { a: 1 } )
db.test.find()"

我向命令发出了这个命令来保存和检索对象并且它工作正常但是这个默认的测试数据库是什么?它在哪里?此外,这个对象存储在哪里?在哪里可以找到这个文件?

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    这个默认的测试数据库是什么?

    当您连接到 mongod 服务器而不指定数据库时,会选择默认数据库“test”。由于数据库是惰性创建的,因此在您写入之前它甚至可能不存在。

    db.test.save( { a: 1 } )
    

    执行此行后,将创建具有当前名称的数据库(默认为“test”)(如果不存在)并在其中创建集合“test”(如果不存在)。

    它在哪里?此外,这个对象存储在哪里?在哪里可以找到这个文件?

    所有数据库最终都作为文件存储在您的数据目录中。在那里寻找“test.*”文件。

    【讨论】:

    • 谢谢,请告诉我文件 test.0,test.1,test.ns 和两个文件夹 journal,_tmp 创建的情况。
    • 这是您的测试数据库及其日志。
    • @saumyaraj,阅读此关于数据库存储文件docs.mongodb.org/manual/faq/storage/…
    • @DenisNikanorov 谢谢,你能告诉我有关 mongod.lock 文件和 database.ns 文件的信息吗?
    • @saumyaraj,ns 文件保存有关数据库命名空间的信息。 .lock 文件我认为保存有关读/写数据库锁的信息,但我不确定。这是数据库服务文件。你想了解他们什么?
    【解决方案2】:

    mongod.lock,是提供你正在运行的 mongod 实例的 PID 的文件。当你启动一个 mongod 实例时,MongoDB 检查锁是否为空以干净地启动 mongod。然后MongoDB在这个锁文件中注册了正在运行的mongod实例的PID号。

    当您完全关闭服务器时,MongoDB 会删除此锁定文件的包含,

    mongod --shutdown -- dbpath <path name> --port <port number> 
    

    【讨论】:

      猜你喜欢
      • 2021-06-10
      • 1970-01-01
      • 2019-02-13
      • 1970-01-01
      • 2014-11-02
      • 2011-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多