※mongoについて理解不十分のため、誤記・誤認識等についてご容赦ください。
mongoDBにためているデータがあるのですが、これらをCollectionごとにexport/importすることをよく行っています(サーバAからサーバBに移したりなど)。その際たとえばサーバAでは[COLLECTION_NAME]のコレクションを出力し、
mongoexport --db [DB_NAME] --collection [COLLECTION_NAME] -o [FILE_NAME].json
このデータを置く予定のサーバBでは
mongo db.[COLLECTION_NAME].remove({})
などして一旦コレクションの中身を消し、先ほど出力したものを
mongoimport --db [DB_NAME] --collection [COLLECTION_NAME] --file [FILE_NAME].json
インポートするなどしています。
COLLECTIONの中に入っているドキュメントは、一意のidを持っており、たとえばdb.[COLLECTION_NAME].find({},{id:true})
などとすると、下記のような感じで返ります。
> db.[COLLECTION_NAME].find({}, {id:true}) {"id":"hogehoge1"} {"id":"hogehoge2"} {"id":"hogehoge3"} {"id":"hogehoge4"} . . . (以下略)
ここから質問なのですが、 冒頭のmongoexportのようにコレクションのすべてを対象にするのではなく、たとえば上記で言う{"id":"hogehoge1"}
だけをexportしたりimportしたりする方法はありませんでしょうか。検索しているのですが、自分が実現したいことを端的に形容できる言葉が見つからず、結果的に思うような検索結果を得ることができなかったため質問いたしました。
意図としては、たとえばサーバBに問題が起きて{"id":"hogehoge1"}のデータがないという際に、サーバAからその分だけリカバリしたいのです。
これについて構文や、またはこの情報に適している検索ワード/サイトなどございましたらご教示頂ければと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。