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

Mongooseは、ObjectIdではなく文字列として_idを保存しました

    これはかなり具体的な質問ですが、誰かが同様の問題に遭遇した場合、私の問題は、リモートサーバーでmongoimportを使用するためにすべてのドキュメントをjsonとしてファイルに書き込んだことでした。

    問題は、JSON.stringify()がobjectIdを文字列に変換することでした。これを修正するために、次のコマンドを使用して、users配列内のすべてのオブジェクトをループし、すべての_idをobjectIdに戻す小さなスクリプトを作成しました。

    var mongoose = require('mongoose');
    user._id = mongoose.Types.ObjectId(users[i]._id);
    

    次に、更新されたドキュメントを使用してマングースモデルでModel.create()を呼び出して一括挿入し、元のドキュメントを削除しました




    1. MongoDBの正確な要素配列のフィールドを更新します

    2. ISODateを使用してCSVファイルMongoDBをインポートする

    3. mongodbTTLが機能しない

    4. ハイフンやスペースなどの特殊文字で構成される文字列を照合する方法