web-dev-qa-db-ja.com

MongoDB管理データベースからユーザーをバックアップすることは可能ですか?

タイトルはそれをうまくまとめています。本質的に私が求めているのは、ユーザー(人間のユーザー用に作成されたアカウント)のみをバックアップ(おそらくmongodumpを使用)できるかどうかです。

1
marxmacher

だから、さらに掘り下げた後、私はそれを行う方法を見つけました。

つまり、system.usersコレクションを取得するか、クエリを使用して、特定のパターンに従うそのコレクションからユーザーのみを取得する必要がありました。私にとってそれは[email protected]でした、クエリがなければ私は私が欲しくないまたは必要としなかったすべてのサービスユーザーも手に入れました。

トリッキーな部分は、system.usersコレクションのみを復元したい場合に機能しないmongorestoreでした

私が得たエラーは:

2020-01-28T12:44:49.902+0200    assuming users in the dump directory are from <= 2.4 (auth version 1)
2020-01-28T12:44:49.960+0200    Failed: the users and roles collections in the dump have an incompatible auth version with target server: cannot restore users of auth version 1 to a server of auth version 5
2020-01-28T12:44:49.960+0200    0 document(s) restored successfully. 0 document(s) failed to restore.

system.versionコレクションも指定しないと、mongorestoreがダンプmongoのバージョンを判別できないため、エラーが発生しました。

1
marxmacher