これ以外のところではヘルプが見つかりませんでした。MongoDBは少数のレコードしか更新せず、新しい属性を作成し、値を代入します
基本的には、指定された属性を持っていない少数のドキュメントだけを更新したいと思います。
更新の値は、すでにドキュメント上にあるフィールドから取得されます。
これは私が試みたものですが、「文書のフィールドから」部分が好きではありませんでした。ここでCn doesn't exist.
db.getCollection('test').update(
// query
{ "id2" : { $exists: false } },
// update
{ id2: Cn },
// options
{
"multi" : true, // update all documents
"upsert" : false // don't insert new documents
}
);
は私のテストデータである
/* 1 */
{
"_id" : ObjectId("5912132c4a58677726d37168"),
"Cn" : "CA",
"id2" : "CAAB",
"Prov" : "AB"
}
/* 2 */
{
"_id" : ObjectId("591213404a58677726d37172"),
"Cn" : "CA",
"id2" : "CANZ",
"Prov" : "NZ"
}
/* 3 */
{
"_id" : ObjectId("591213534a58677726d37180"),
"Cn" : "CA",
"id2" : "CAMB",
"Prov" : "MB"
}
/* 4 */
{
"_id" : ObjectId("591213674a58677726d3718c"),
"Cn" : "US"
}
/* 5 */
{
"_id" : ObjectId("591213894a58677726d371a3"),
"Cn" : "MX"
}
言ってこのすべてがすべきは、米国& MXでid2
を作成し、それらの新しいid2
が対応する値「米国」&「MX」を属性与えるです。
これは大したことではありませんが、私は144ヶ国& 10,000以上の文書にid2
を追加することができます。
同じエラー。 "undefined" – user5903880
私は自分の答えを更新しました。今確認できますか? –
私はそれといくつかの修正をしても演奏しました。それが私に与えることができるのは「Featched 0 records(s)」です。そして、データの中でnothignが変更されました。しかし、それはエラーがなかった – user5903880