不要な文字列を含むmongodb内の複数のドキュメントを更新しようとしています。だから私はフィールド内の文字列の一部のslice
でドキュメントを更新する必要があります。Mongodb:フィールド値のスライスを含むドキュメントを更新する
私はこのようなものをデータベースに持っています。
{
"_id" : ObjectId("58a04a6c377c443a3af3dbf9"),
"studentNumber" : "S1859/0113",
"gender" : "M",
"studentName" : "Had To change this",
"points" : "34",
"division" : "FLD",
"subjects" : "CIV-D HIST-F GEO-F KISW-F ENGL-F BIO-F B/MATH-F",
"examType" : "CSEE",
"examYear" : "2011",
"schoolNumber" : "S1859",
"schoolName" : "CHANGED SECONDARY SCHOOL",
"__v" : 0
}
注studentNumber
フィールドはS1859/0113
を有し、schoolNumber
は"S1859"
を有しています。今度はS1859
をstudentNumber
フィールドにスライスして、0113
のままにしておく必要があります。
関数ではありません私は
db.results.find().forEach(function(e) { e.studentNumber = e.studentNumber.split('/').slice(1); e.save() })
を試してみましたしかし、それはエラーe.save()
を与えました。
db.results.update({studentNumber: {$regex: /[PS]{1}[0-9]{4}\/[0-9]{4}/}}, {condition to use}, false, true)
:
私はでこれを行うするかどうかはわかりません。
同じ文書内のフィールドをスライスして更新するにはどのような条件を設定するべきかわかりません。
助けてください。 forEach
で
は、それが働いて、ありがとうございます! (Thoは期待通りではありませんでしたが)レコードを更新し、今は上記のメソッドではなく別のものを使用する必要があります。 – ArchNoob