我是MongoDB的新手,我想問一下如何爲元素創建一個新字段,該字段代表該元素中另一個字段的大小。例如: - 我也有這樣類似的元素:添加新字段,這是文檔的另一個字段的大小
{
"_id" : ObjectId("57e1ffcb94d9ae534869c6cd"),
"url" : "http://www.nytimes.com",
"verticals" : [ 1, 2, 3, 4, 5, 12 ]
}
我要添加新的領域說「numadx」,這是「垂直」數組的大小,在這種情況下,它是6,結果可是:
{
"_id" : ObjectId("57e1ffcb94d9ae534869c6cd"),
"url" : "http://www.nytimes.com",
"verticals" : [ 1, 2, 3, 4, 5, 12 ]
"numadx" : 6
}
我在終端使用命令:
db.test.update({},{$set:{numadx:{$size: "$verticals"}}},{multi:true})
但它返回錯誤:
"errmsg" : "The dollar ($) prefixed field '$size' in 'numadx.$size' is not valid for storage."
有人可以幫我:D?我這樣做是爲了根據numadx字段對這個集合中的元素進行排序,這有助於我最少了解這些元素在集合中的最大垂直值。
非常感謝。
哦,謝謝你,它工作順利。哦,我已經看到,我們不能在update()命令xD中使用$ size,非常感謝。 – Blurie
不要這樣做。這對性能非常不利,並可能導致競爭狀況。 – styvane
性能非常差...... – c24b