Rumah > Soal Jawab > teks badan
mongodb 修改字段类型, 现在集合中有一个字段是string,要修改为date类型, 怎么弄 ?
漂亮男人2017-05-02 09:21:22
MongoDB adalah "tanpa skema", dan tiada konsep metadata untuk medan, jadi tiada cara untuk mengubah suai jenis medan secara langsung, kerana setiap medan dokumen mempunyai jenisnya sendiri. Berdasarkan situasi ini, anda hanya boleh melintasi semua dokumen dan mengubah suai jenis medan satu demi satu. Contohnya, dokumen asal ialah:
{_id: ObjectId(...), date: "Fri May 20 2016 17:04:27 GMT+0800 (CST)"}
Kemudian anda perlu merentasi koleksi ini dan mengubah suai jenis medan satu demi satu
db.coll.forEach(function(doc) {
db.coll.update({_id: doc._id}, {$set: {date: new Date(doc.date)}});
});
曾经蜡笔没有小新2017-05-02 09:21:22
db.demo.find({g:{$type:2}}).forEach(function(x){
x.g=new Date();
db.demo.save(x)
}
)
$type: ialah jenisnya. 2 ialah jenis rentetan.
黄舟2017-05-02 09:21:22
Rujuk ini https://zhuanlan.zhihu.com/p/... untuk menyelesaikan UTCDatetime