sql >> データベース >  >> NoSQL >> MongoDB

Mongodb-nullフィールドを再帰的に削除しますか?

    これを試してください

    const remove = (data) => {
        for (let key in data) {
            const val = data[key];
            if (val == null) {
                delete data[key];
            } else if (Array.isArray(val)) {
                val.forEach((v) => {
                    remove(v);
                });
            }
        }
        return data;
    }
    
    
    db.getCollection('Collection').find({}).forEach((data) => {
        data = remove(data);
        db.getCollection('OtherCollection').insert(data);
        //db.getCollection('Collection').save(data); // update same record
        print(data);
    })
    


    1. ClusterControlを使用した複数のデータベーステクノロジーの管理

    2. 時系列をredisに保存する

    3. コレクションに保存されている配列の形状を変更し、CSVにエクスポートします

    4. Mongoose .save()は空のエラーオブジェクトを返し、DBに保存しません