我有一个包含10,000个文档的MongoDB集合。我想为每个包含字符串值的文档添加一个新字段,其中前100个文档的值应该为“1”,接下来的100个文档的值应该为“2”,依此类推。我该如何做到这一点?
njthzxwz1#
一个选项是使用$setWindowFields:
$setWindowFields
db.collection.aggregate([ {$setWindowFields: { sortBy: {date: 1}, output: {value: { $sum: 1, window: {documents: ["unbounded", "current"]} }} }}, {$set: { value: {$toString: { $add: [ {$floor: {$divide: [{$subtract: ["$value", 1]}, 100]}}, 1 ] }} }} ])
了解它在playground example上的工作原理
1条答案
按热度按时间njthzxwz1#
一个选项是使用
$setWindowFields
:了解它在playground example上的工作原理