美文网首页
【mongoDB】将指定表中历史数据归档到其他备份表

【mongoDB】将指定表中历史数据归档到其他备份表

作者: Bogon | 来源:发表于2023-09-05 09:42 被阅读0次

    将 TestDB.T_TestColl表中 day 字段 小于 ISODate("2022-12-31T16:00:00.000Z") 的复制到 TestDB.T_TestColl_20230905 表。并将原数据删除。

    $ cat TestDB-T_TestColl.js

    var day = ISODate("2022-12-31T16:00:00.000Z");
    var newtable = "T_TestColl_20230905";
    
    var TestDB = db.getSisterDB("TestDB");
    var m = TestDB.getCollection("T_TestColl").find({"day": { $lt: day}}).noCursorTimeout();
    
    m.forEach(x => {
        try{
            var c = TestDB.getCollection(newtable).save(x);
            TestDB.getCollection("T_TestColl").remove({_id:x["_id"]})
        } catch (error) {
            print(error)
        }
       
    })
    m.close();
    
    $  mongo  -h xx.xx.xx.xx --port=27017 --username=username --password='XXX' --authenticationDatabase=admin   TestDB-T_TestColl.js
    

    注意: 选择字段 day 要么是唯一索引,要么在组合索引中排在第一位。

    相关文章

      网友评论

          本文标题:【mongoDB】将指定表中历史数据归档到其他备份表

          本文链接:https://www.haomeiwen.com/subject/ouucvdtx.html