我有以下格式文档更新_id领域:如何在MongoDB的文档
{
_id: "1232014",
account: "123",
year: 2014,
country: 826
}
的_id
场是由位于account
场和year
场的总和。
但是,自从我发现同一年的同一个帐户可能在不同国家/地区拥有数据,并且我收到重复的密钥错误。
我需要做的是将country
字段作为_id
字段的一部分,例如,
_id: "1232014826"
由于我使用的是从文档中作为更新的一部分价值,我不认为我可以使用$set
,所以我想一个forEach()
查询,而不是中使用save()
:
db.account_data.find({"_id" : "1232014"}).forEach(function(doc) {
doc._id = doc._id + doc.country;
db.collection.save(doc);
});
这不起作用。
有什么方法可以更新_id
?或者这是不可能的,因为它是主要关键字段?
@JoachimIsaksson,可能不是因为它实际上是一个真的非常糟糕的答案。让我们尝试删除旧的和坏的答案,并用更好的答案替换它们。 –
我现在看到这是一个类似的问题,你提到的另一个。希望这个问题有更多的细节和背景,并且如果其他人有同样的问题可能会有用。这实际上是对这个问题不被接受的答案,它与我所需要的最相关。 – finoutlook