Khung tổng hợp mới trong MongoDB 2.2 cho phép bạn thêm các trường được tính toán thông qua $ dự án nhà điều hành. Điều này không hoàn toàn giống với tùy ý vì bạn cần sử dụng các toán tử được hỗ trợ , nhưng nó cung cấp rất nhiều tính linh hoạt.
Đây là ví dụ của bạn về việc tăng dần _id
s thành một myNum
mới lĩnh vực:
MongoDB shell version: 2.2.0-rc0
> db.test.insert({_id:123});
> db.test.insert({_id:456});
> db.test.aggregate(
{ $project : {
_id : 1,
'myNum': { $add: [ "$_id", 1]}
}}
)
{
"result" : [
{
"_id" : 123,
"myNum" : 124
},
{
"_id" : 456,
"myNum" : 457
}
],
"ok" : 1
}