MongoDB移动数组元素

时间:2016-06-03 21:35:12

标签: php arrays mongodb

假设我在MongoDB中有一个集合,其中包含以下模式:

{
    "_id": ObjectID,
    "Entries": [
        {
            "_id": ObjectID,
            "Content": string
        }
    ]
}

现在我想编辑数组“Entries”中元素的“Content”字段,然后将该元素移动到第一个索引 - 零 - 以便在最后一次更改元素时对数组进行降序排序。这可以在一个'原子'查询中完成,我可以将其放在一个db.collection.update中吗?

如果没有,我应该使用说一个UNIX时间戳,然后在查询时按顺序排序吗?性能差异是否显着?

1 个答案:

答案 0 :(得分:0)

如果您在数组中使用objectId,则此id的一部分是时间戳。

这意味着您始终可以确定何时创建字段。如果你需要处理上次更新 - 那么timestamp字段将解决这个问题,因为我个人不会在阵列位置上转发。

详细了解objectID和python here