mongodb 修改欄位類型, 現在集合中有一個欄位是string,要修改為date類型, 怎麼弄 ?
阿神
阿神 2017-05-02 09:19:22
0
3
1027

mongodb 修改字段類型, 現在集合中有一個字段是string,要修改為date類型, 怎麼弄 ?

阿神
阿神

闭关修行中......

全部回覆(3)
漂亮男人

MongoDB是「無模式」的,對於欄位沒有元資料的概念存在,所以沒有辦法直接修改欄位類型,因為每個文件的欄位都有自己的類型。基於這種情況,只能遍歷所有的文件逐一修改欄位類型。例如原始文檔是:

{_id: ObjectId(...), date: "Fri May 20 2016 17:04:27 GMT+0800 (CST)"}

那就需要遍歷這個集合逐一修改欄位類型

db.coll.forEach(function(doc) {
    db.coll.update({_id: doc._id}, {$set: {date: new Date(doc.date)}});
});
曾经蜡笔没有小新
    db.demo.find({g:{$type:2}}).forEach(function(x){
        
        x.g=new Date();
        db.demo.save(x)
        
        }
)

$type: 是型別。 2為string類型。

黄舟

參考這個 https://zhuanlan.zhihu.com/p/... 可以解決 UTCDatetime

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!