ホームページ バックエンド開発 PHPチュートリアル MongoDB のヒントと注意事項のまとめ

MongoDB のヒントと注意事項のまとめ

Dec 01, 2017 am 11:28 AM

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
ログイン後にコピー

6. 非ユーザー認証の問題。 amdin データベース:

us mongodb データベースのライブラリにユーザーを追加するには、ターゲット データベースで次のコマンドを使用します。たとえば、mongoTest ライブラリに読み取りおよび書き込み権限を持つユーザーを追加します。

管理データベースに追加することもできます:

db.createUser({"user":"test","pwd":"123456","roles":["readWrite"]})
ログイン後にコピー

これら 2 つの方法には違いがあることに注意してください。かつて私を騙したのはこの違いです:


最初の方法を使用して追加する場合このコマンドは、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のセキュリティを向上させる方法

以上がMongoDB のヒントと注意事項のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

net4.0の用途は何ですか net4.0の用途は何ですか May 10, 2024 am 01:09 AM

.NET 4.0 はさまざまなアプリケーションの作成に使用され、オブジェクト指向プログラミング、柔軟性、強力なアーキテクチャ、クラウド コンピューティングの統合、パフォーマンスの最適化、広範なライブラリ、セキュリティ、スケーラビリティ、データ アクセス、モバイルなどの豊富な機能をアプリケーション開発者に提供します。開発サポート。

DebianでMongoDB自動拡張を構成する方法 DebianでMongoDB自動拡張を構成する方法 Apr 02, 2025 am 07:36 AM

この記事では、自動拡張を実現するためにDebianシステムでMongodbを構成する方法を紹介します。主な手順には、Mongodbレプリカセットとディスクスペース監視のセットアップが含まれます。 1。MongoDBのインストール最初に、MongoDBがDebianシステムにインストールされていることを確認してください。次のコマンドを使用してインストールします。sudoaptupdatesudoaptinstinstall-yymongodb-org2。mongodbレプリカセットMongodbレプリカセットの構成により、自動容量拡張を達成するための基礎となる高可用性とデータ冗長性が保証されます。 Mongodbサービスを開始:Sudosystemctlstartmongodsudosys

DebianでMongodbの高可用性を確保する方法 DebianでMongodbの高可用性を確保する方法 Apr 02, 2025 am 07:21 AM

この記事では、Debianシステムで非常に利用可能なMongoDBデータベースを構築する方法について説明します。データのセキュリティとサービスが引き続き動作し続けるようにするための複数の方法を探ります。キー戦略:レプリカセット:レプリカセット:レプリカセットを使用して、データの冗長性と自動フェールオーバーを実現します。マスターノードが失敗すると、レプリカセットが自動的に新しいマスターノードを選択して、サービスの継続的な可用性を確保します。データのバックアップと回復:MongoDumpコマンドを定期的に使用してデータベースをバックアップし、データ損失のリスクに対処するために効果的な回復戦略を策定します。監視とアラーム:監視ツール(プロメテウス、グラファナなど)を展開して、MongoDBの実行ステータスをリアルタイムで監視し、

Soland の餌付けレベルの身の毛もよだつエアドロップ チュートリアル: コスト 0、ルーチンなし、カウンター プレイなし! Soland の餌付けレベルの身の毛もよだつエアドロップ チュートリアル: コスト 0、ルーチンなし、カウンター プレイなし! Jun 25, 2024 pm 07:13 PM

Soland の授乳レベルの潤滑チュートリアル: コスト 0、ルーチンなし、フィードバックなし!最近、通貨サークルの多くの友人の間で美容整形が再び話題になりました。もちろん、今回は誰もががっかりしたり、さらには怒ったりしています。第一に、Layerzero の魔女の綱引きです。バッチスクリーニング、そしてPUA王ZKsyncのAirdropsは、多くの人々から厳しく批判され、ガソリン代やインタラクションコストに数万ドルを費やした人もいて、最終的な利益は10分の1にも満たなかった(計算されていない)。費やした時間とその他のコスト。 2 つの「キング オブ ヘブン」レベルのプロジェクトにより、多くの人がテリー サークルから離れたいと考えています。実際、暗号化トラックには規模に関係なく、まだ多くのチャンスがあるため、ここではその必要はないと考えています。それを促進する必要がある。

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

Centos Mongodbバックアップ戦略とは何ですか? Centos Mongodbバックアップ戦略とは何ですか? Apr 14, 2025 pm 04:51 PM

MongoDB効率的なバックアップ戦略の詳細な説明CENTOSシステムでは、この記事では、データセキュリティとビジネスの継続性を確保するために、CENTOSシステムにMongoDBバックアップを実装するためのさまざまな戦略を詳細に紹介します。 Dockerコンテナ環境でのマニュアルバックアップ、タイミング付きバックアップ、自動スクリプトバックアップ、バックアップメソッドをカバーし、バックアップファイル管理のベストプラクティスを提供します。マニュアルバックアップ:MongoDumpコマンドを使用して、マニュアルフルバックアップを実行します。たとえば、Mongodump-Hlocalhost:27017-U Username-P Password-Dデータベース名-O/バックアップディレクトリこのコマンドは、指定されたデータベースのデータとメタデータを指定されたバックアップディレクトリにエクスポートします。

MongoDBおよびリレーショナルデータベース:包括的な比較 MongoDBおよびリレーショナルデータベース:包括的な比較 Apr 08, 2025 pm 06:30 PM

MongoDBおよびリレーショナルデータベース:詳細な比較この記事では、NOSQLデータベースMongoDBと従来のリレーショナルデータベース(MySQLやSQLServerなど)の違いを詳細に調べます。リレーショナルデータベースは、行と列のテーブル構造を使用してデータを整理しますが、MongoDBは柔軟なドキュメント指向モデルを使用して、最新のアプリケーションのニーズをより適切に適しています。主にデータ構造を区別します。リレーショナルデータベースは、事前定義されたスキーマテーブルを使用してデータを保存し、テーブル間の関係は一次キーと外部キーを通じて確立されます。 MongoDBはJSONのようなBSONドキュメントを使用してコレクションに保存します。各ドキュメント構造は、パターンのないデザインを実現するために独立して変更できます。アーキテクチャデザイン:リレーショナルデータベースは、事前に定義された固定スキーマが必要です。 Mongodbサポート

作曲家を使用して、推奨システムのジレンマを解決する:Andres-Montanez/推奨 作曲家を使用して、推奨システムのジレンマを解決する:Andres-Montanez/推奨 Apr 18, 2025 am 11:48 AM

eコマースのWebサイトを開発するとき、私は困難な問題に遭遇しました。ユーザーにパーソナライズされた製品の推奨事項を提供する方法です。当初、私はいくつかの簡単な推奨アルゴリズムを試しましたが、結果は理想的ではなく、ユーザーの満足度も影響を受けました。推奨システムの精度と効率を改善するために、より専門的なソリューションを採用することにしました。最後に、Andres-Montanez/Adcumentations Bundleを介してAndres-Montanez/Bundleをインストールしました。これは、問題を解決しただけでなく、推奨システムのパフォーマンスを大幅に改善しました。次の住所から作曲家を学ぶことができます。

See all articles