更新具有最大/最低值的文档

时间:2014-06-08 17:31:15

标签: mongodb

我想用最新的时间戳更新文档 我的第一个想法是,做一个排序,但目前不支持:

db.collection("items").update({
    ids: { $in: searchIds }
}, {
    $set: {
        timestamp: currentTimestamp
    }
}, {
    sort: {
        timestamp: -1
    }
});

有没有办法用一个查询更新具有最大/最低值的文档?

1 个答案:

答案 0 :(得分:2)

您可以使用findAndModify来实现这一点,{{3}}提供比update更大的灵活性。在shell中:

db.items.findAndModify({
    query: { ids: { $in: searchIds }},
    sort: { timestamp: -1 },
    update: { $set: { timestamp: currentTimestamp }}
});