Docker容器中的MongoDB db.collection顺序是乱的,文档总是插在集合的中间

时间:2017-07-11 13:05:23

标签: mongodb docker

我有一个localhost mongodb,其中集合行为是正确的。但是当我尝试在docker容器中测试这个mongorestored集合时,我遇到了麻烦。

我的所有文件总是被插入到收藏的中间。示例如下:

db.posts.find().pretty()
{
    "_id" : ObjectId("595cc2a803297da443e36a1a"),
    "name" : "First post",
    "__v" : 0
}
{
    "_id" : ObjectId("595cc31e03297da443e36a1c"),
    "name" : "Second post",
    "__v" : 0
}
db.posts.insert({name: "Third post"})
WriteResult({ "nInserted" : 1 })
db.posts.insert({name: "Fourth post})
WriteResult({ "nInserted" : 1 })
db.posts.find().pretty()
{
    "_id" : ObjectId("595cc2a803297da443e36a1a"),
    "name" : "First post",
    "__v" : 0
}
{
    "_id" : ObjectId("5964c37ba4e0e8004c4c20d2"),
    "name" : "Third post",
    "__v" : 0
}
{
    "_id" : ObjectId("5964c41fd1302fc68fac6ee0"),
    "name" : "Fourth post",
    "__v" : 0
}
{
    "_id" : ObjectId("595cc31e03297da443e36a1c"),
    "name" : "Second post",
    "__v" : 0
}

1 个答案:

答案 0 :(得分:0)

由于felix提到的默认排序行为并不明显,但在我将Docker容器主图像从MongoDB 3.0.15更改为3.4后,问题就消失了,最后插入的帖子按预期附加到集合中。