【发布时间】:2018-09-15 05:53:17
【问题描述】:
我正在将网站和 Mongo 数据库移动到新服务器。
网站看不到数据。
Mongo 在同一台服务器上安装并运行。
Shell 和 server 都是 3.6.3
Mongo shell 看到数据库。
从外壳,
dbs 返回数据库名称。
使用 dbname 似乎有效。
db.getCollectionNames() 返回一个合理的集合名称。说 ["myCollection"]
.
db.getCollection("myColection").getIndexes() 返回
[ { “v”:2, “钥匙” : { “_id”:1 }, "名称" : "id", “ns”:“myDB.myCollection” } ]
但在那之后,我无法再进一步了。
db.myCollection.find() 和
db.getCollection("myCollection").find() 都没有返回任何内容。
日志中的所有内容看起来都是正确的,没有错误。
这能告诉我们什么吗?
【问题讨论】:
-
version()和db.version()在你的mongoshell 中的结果是什么?一种可能是您使用的 shell 版本比您的 MongoDB 服务器版本旧得多。 -
@Stennie 好问题。应该包含版本。
-
@Stennie 我认为你在做某事。数据可能是使用旧的存储引擎构建的。 WiredTiger 比旧安装更新。所以它不会使用 WiredTiger。
-
如果您的
mongoshell 版本与服务器版本匹配(并且两者都是 3.6.3),则应该消除问题出在尚未针对 MongoDB 更新的旧 shell 的可能性3.0+ 存储引擎 API(类似的展示)。您确定将数据恢复到新服务器上的正确数据库吗?db.myCollection.stats()是否有预期的count和size文档? -
@Stennie Stats 看起来是空的。感谢您的提示。
标签: mongodb windows-server-2016