【发布时间】:2015-09-09 07:26:18
【问题描述】:
我正在尝试用其他 NumberLong 值更新我的一个集合中的某个 NumberLong 类型值。以下是我的收藏结构:
{
"_id" : ObjectId("55e57337d4c6cf80e68b1fe3"),
"tenantId" : NumberLong(7),
"refId" : NumberLong(20),
"refIdentifierName" : "resourceInstanceId",
"config" : {
"contract" : {
"contractLength" : "12 months",
"startDate" : "2015-01-21T09:36:39+00:00",
"billingFrequency" : "monthly",
"margin" : 9,
"endDate" : "2016-01-21T09:36:39+00:00"
}
}
假设我正在尝试将所有值为 7 的tenantId 更新为 8。
这是我正在使用的脚本:
var cursor = db.resourceInstanceConfiguration.find();
while (cursor.hasNext()) {
var x = cursor.next();
x['tenantId'] = x['tenantId'].replace('7','8');
db.resourceInstanceConfiguration.update({_id : x._id}, x);
}
收到错误:TypeError: Object NumberLong(6) has no method 'replace'
【问题讨论】:
标签: mongodb mongodb-query