如何访问 MongoDB 数据?
How do I access MongoDB data?
我正在将网站和 Mongo 数据库移动到新服务器。
网站看不到数据。
Mongo 和 运行 安装在同一台服务器上。
Shell 和服务器都是 3.6.3
Mongoshell查看数据库
来自 shell、
dbs returns the database name.
use dbname appears to work.
db.getCollectionNames() returns a reasonable collection name. Say ["myCollection"]
.
db.getCollection("myColection").getIndexes() returns
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "id",
"ns" : "myDB.myCollection"
}
]
但在那之后,我无法再进一步了。
db.myCollection.find() and
db.getCollection("myCollection").find() both return nothing.
日志中的一切看起来都是正确的,没有错误。
这告诉我们什么了吗?
使用下面的备份
Mongodump --out <directory>
及以下恢复
mongorestore <collectionName><path to the backup>
Mongo的一个特点是,你只要提一下就可以创建一个数据库或集合。
原来有人试图导入数据但失败了。所以当我查看 'show dbs' 和 'getCollectionNames' 时,它看起来好像在工作。
我在数据库目录中看到的文件是导出文件,实际上并没有被导入。
我正在将网站和 Mongo 数据库移动到新服务器。
网站看不到数据。
Mongo 和 运行 安装在同一台服务器上。
Shell 和服务器都是 3.6.3
Mongoshell查看数据库
来自 shell、
dbs returns the database name.
use dbname appears to work.
db.getCollectionNames() returns a reasonable collection name. Say ["myCollection"]
.
db.getCollection("myColection").getIndexes() returns
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "id", "ns" : "myDB.myCollection" } ]
但在那之后,我无法再进一步了。
db.myCollection.find() and
db.getCollection("myCollection").find() both return nothing.
日志中的一切看起来都是正确的,没有错误。
这告诉我们什么了吗?
使用下面的备份
Mongodump --out <directory>
及以下恢复
mongorestore <collectionName><path to the backup>
Mongo的一个特点是,你只要提一下就可以创建一个数据库或集合。
原来有人试图导入数据但失败了。所以当我查看 'show dbs' 和 'getCollectionNames' 时,它看起来好像在工作。
我在数据库目录中看到的文件是导出文件,实际上并没有被导入。