問題タブ [php-mongodb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
43 参照

php - mongo に新しいメンバーを追加し、アプリケーションでエラー例外を防止する

EC2 に 3 つのインスタンスがあり、それぞれにサービス mongo があり、レプリカ セット、つまりプライマリ (192.168.1.1)、セカンダリ (192.168.1.2)、アービター (192.168.1.3) が設定されています。

mongo に接続するアプリケーションがいくつかあります。

私の質問は次のとおりです。

レプリカに別のメンバーを追加する場合、接続セットアップ内のすべてのアプリケーションを変更して新しいメンバーを含める必要がありますか?

って聞くから。

最後の IP .1 がプライマリ、.2 がセカンダリであると仮定し、新しいメンバーを最後の IP .4 に追加します。そして、この新しいメンバーをアプリケーション データベースの設定に含めません。プライマリが落ちると、アービターは .4 の ip を新しいプライマリとして選択します。すべてのアプリケーションが例外をスローし始めます。

アプリケーションデータベースの構成を変更する必要がなく、常に新しいメンバーを追加する必要があるように、どのように「修正」できますか。「n」個のメンバーを追加する必要があると想像してください。

私のアプリケーションが PHP であることを知っていて、ホスト構成を追加せずにプライマリのみを識別するようにアプリケーションを構成する方法はありますか?

0 投票する
0 に答える
222 参照

php - PHP 5.5 から PHP 7 への移行中の新しい MongoId() ソリューション

PHP7 では new MongoId() が機能せず、以下の関数を使用して php7 で mongo id を取得するソリューションvar_dump(new MongoDB\BSON\ObjectId())ですが、これを複数のファイルで使用しており、ほぼ 200 以上のファイルがあるため、これらすべてのファイルを手動で編集したくありません。

関数を使用するようなトリックがある__autolaod(),spl_autoload_register()ので、コードを追加すると、新しい関数が自動的に呼び出されMongoId()、エラーなしで mongoID が返されます。

複数のファイルを編集しないスマートなソリューションが必要です。

0 投票する
1 に答える
319 参照

php - MongoDB の「インポートされたデータ」が PHP から取得されない

CSV ファイルを Mongo コレクションにインポートしていますが、正常にインポートされています。これは私の Windows コマンド プロンプトの実行です。

私のコレクションは次のとおりです。

ここでは、クラス 7 のドキュメントのみをインポートしました。クラス 5 と 6 のドキュメントは、Mongo Shell を介して挿入され、インポートされませんでした。

PHP でこれらのドキュメントを取得して各ドキュメントの「クラス」を表示しようとすると、Mongo Shell で挿入したクラス 5 と 6 しか表示できません。インポートされたドキュメント データは表示されません。つまり、クラス 7 です。

「writeConcern」で何かを試しました:

これは MongoDB の読み取りまたは書き込みの問題に関連していますか? それとも、PHP Mongo ドライバーに関するものですか?

大量のデータがあり、シェルを介して挿入する余裕がありません。

(私は XAMPP Windows を使用しています)

0 投票する
1 に答える
1446 参照

php - mongodbでルックアップの結果をソートする方法

2 つのコレクションを結合し、外部テーブルの日付フィールドを並べ替えてから、フィールドをグループ化して、以下のように各デバイスの最近の日付から 1 つのレコードのみを取得したいと考えています。

上記のコードを php で使用すると、以下の結果が得られました。2 つのコレクションの結合は正常に機能していますが、並べ替えとグループ化は機能していません。

以下のような結果が必要です

0 投票する
1 に答える
163 参照

mongodb - PHPでMongo Geospatialクエリを作成するには?

次のクエリのような地理空間クエリがあります。このクエリは 4 つのレコードを返します。PHP で次のクエリをフレーム化したい

PHPで上記のクエリをフレーム化する方法は? 結果を取得しますか?

0 投票する
1 に答える
828 参照

php - 致命的なエラー: オブジェクト以外でメンバー関数 find() を呼び出していますか?

私はPHPでMongo geospatial Queryを試しました.次のエラーに直面しました.2つのPHPスクリプトを書きました..GeoPHPでクラスからオブジェクトを作成し、メンバーメソッドを呼び出しますそして私の別のPHPスクリプトclass.master.phpはクラスとメンバーを書きましたメソッド

GeoPHP.php

class.master.php

上記のスクリプトは次のエラーを返します

致命的なエラー: 35 行目の D:\xampp_1.8.3\htdocs\GeoMongo\class.master.php の非オブジェクトに対するメンバー関数 find() の呼び出し

このエラーを修正するには?