Mongodb は、C++ 言語で書かれた分散ドキュメント ストレージ データベースで、WEB アプリケーションにスケーラブルで高性能なデータ ストレージ ソリューションを提供することを目的としています。 MongoDB は、高性能、オープンソース、スキーマレスのドキュメント データベースであり、現在人気の NoSQL データベースです。この記事では、MongoDB を使用する際に発生する問題の解決テクニックを紹介し、参考や学習のために共有します。
1. 配列フィールドが空ではないレコードを検索します
データ内の配列フィールドが空ではないレコードを検索します。
例: 次のような Mongo ドキュメントがあります
{ "id" : "581c060f2b436c05aafb1632", "commit_history" : [ "581c20d52b436c05aafb1633", "581c21c12b436c05aafb1634" ] }, { "id" : "581c060f2b436c05aafb1633", "commit_history" : [] }
commit_history が空ではないレコードを検索したい場合は、次の方法があります:
方法 1: db.collection.find({commit_history: {$not : {$サイズ: 0}}})
方法 2: db.collection.find({'commit_history.0': {$exists: 1}})
2. MongoDB にユーザーを追加します
MongoDB のコレクションにユーザーを追加するには、次の操作を実行できます:
collection_name を使用してライブラリに切り替えます
db.createUser( { user: "collection_name", pwd: "password", roles: [ "readWrite", "dbAdmin" ] } )
3 場合によっては、列を削除する必要があります。指定されたフィールドの更新操作を使用します。
たとえば、name 列を削除するには:
query json:
{"name":{$exists:true}}
update json:
{$unset:{"name":""}}
4 番目に、データのエクスポートでは、mongodb の bin ディレクトリで mongoexport コマンドを実行し、関連するパラメーターを設定します
例:
./mongoexport -h 192.168.0.201 --port 27017 –d admin –u admin –p admin -c department -o /home/admin/department.dat
-h: 接続するデータベースの IP を指定します。
--port: 接続するデータベースのポートを指定します。
: 接続するデータベースのユーザー名を指定します。 -p: 接続するデータベースを指定します。
-d: 接続するライブラリ名を指定します。
-o: エクスポートするデータセットを指定します。エクスポートするデータ
注: (1) 接続されたデータベースが正常に動作していることを確認する必要があります
(2) データベースにユーザー情報が追加され、起動時にユーザー認証が行われないという状況に遭遇したことがありますが、このコマンドを実行すると、ユーザー名とパスワードを指定した後でのみエクスポートが成功しました。 . 同じような状況に遭遇した人がいたら、試してみるといいでしょう。
5. データをインポートし、mongodb の bin ディレクトリで mongoimport コマンドを実行し、関連するパラメーターを設定します。パラメーターの説明は上記と同じです。例:
./mongoimport --port 27017 -d admin -u admin –p admin –c department /home/common/mongodb305/bin/department.dat
us mongodb データベースのライブラリにユーザーを追加するには、ターゲット データベースで次のコマンドを使用します。たとえば、mongoTest ライブラリに読み取りおよび書き込み権限を持つユーザーを追加します。
db.createUser({"user":"test","pwd":"123456","roles":["readWrite"]})
最初の方法を使用して追加する場合このコマンドは、mongodb の bin ディレクトリで次のコマンドを直接実行して、テスト データベースを操作し、追加、削除、変更、およびクエリを実行することもできます。
名前とパスワードは mongoVUE で接続されています:
db.createUser({"user":"test","pwd":"123456","roles":[{"role":"readWrite","db":"test"},"readWrite"]})
ただし、2 番目の方法で作成された場合、上記のコマンドを直接使用すると、最初に mongo を入力した場合にのみ、検証が失敗したことを示すメッセージが表示されます。
シェルは管理データベースに接続されており、テスト データベースに切り替えるときに検証に合格できます。これは小さな落とし穴です。状況を知らない人は非常に混乱するかもしれません。ユーザー名とパスワードは問題ないのに、何らかの理由で接続できません。
7. mongodb3.0のデフォルトのデータ保存方法はmongodb 2.6のものと同じですが、起動時に次のパラメータを使用してみました。その場合のみ、そうでない場合はエラーが報告されます:
./mongo -h 192.168.0.201 --port 27017 -u test -p 123456 -d test
mongodb.conf は、dbpath、logpath などの起動用の他のさまざまなパラメーターで構成されます。
上記の内容は、MongoDB を日常的に使用する際のヒントと注意事項をまとめたものです。
関連する推奨事項:
mongoDBデータベースとはphpstudyはMongoDBをどのように拡張するか
以上がMongoDB のヒントと注意事項のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。