Maison > Questions et réponses > le corps du texte
mongodb 修改字段类型, 现在集合中有一个字段是string,要修改为date类型, 怎么弄 ?
漂亮男人2017-05-02 09:21:22
MongoDB est "sans schéma", et il n'y a pas de concept de métadonnées pour les champs, il n'y a donc aucun moyen de modifier directement les types de champs, car les champs de chaque document ont leurs propres types. Sur la base de cette situation, vous ne pouvez parcourir que tous les documents et modifier les types de champs un par un. Par exemple, le document original est :
{_id: ObjectId(...), date: "Fri May 20 2016 17:04:27 GMT+0800 (CST)"}
Ensuite, vous devez parcourir cette collection et modifier les types de champs un par un
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 : est le type. 2 est un type de chaîne.
黄舟2017-05-02 09:21:22
Référez-vous à ceci https://zhuanlan.zhihu.com/p/... pour résoudre UTCDatetime