問題タブ [mongodb-php]

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 投票する
4 に答える
39611 参照

php - mongoDBでObjectIDを持つドキュメントを検索します

いくつかのドキュメントを(ObjectIDなしで)コレクションに挿入すると、mongoDBは独自のObjectIDを追加します。

一意のObjectIDでドキュメントをクエリしたいと思います。

'4e49fd8269fd873c0a000000'の前にMongoIDまたはObjectIDのプレフィックスがある場合は機能しません。

PHPでmongoDBを使用してObjectIDでクエリを実行する適切な方法は何ですか?

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

php - mongoDB の更新が正しく機能しない

「挿入」については、まったく問題ありません。

PHP - MongoDB は意図したとおりに挿入しますが、更新は意図したとおりに機能しません。

「ip」および「time」フィールドを持たないドキュメントを「挿入」した直後。

「ip」フィールドは問題なく動作します - {'ip':'127.0.0.1'}

しかし、どういうわけか 'time' 配列フィールドが奇妙な動作をします。

{'time':{'realtime':'2011-01-01 12:00:00', 'mongotime': ISODate("2011-01-01T00:00:00")}}

「時間」がドキュメントに挿入され、問題ないはずです。

しかし、この「時間」配列と独立した「リアルタイム」、「mongotime」の両方がドキュメントに挿入されます。

その結果、私は得ています

{'time':{'realtime':'2011-01-01 12:00:00', 'mongotime': ISODate("2011-01-01T00:00:00")}, 'realtime':'2011- 01-01 12:00:00'、'mongotime': ISODate("2011-01-01T00:00:00")}

なぜこれが起こるのかわかりません...

これはとても奇妙です。

これが私のコードです:

mongoDB の理解が間違っているのでしょうか、それとも正しく動作しませんか?

0 投票する
2 に答える
272 参照

php - mongoDB でより具体的な値を取得するために 2 回クエリを実行できますか?

たとえば、配列である「A」というグループがあります。

また、グループ「A」の中にある「B」という別のグループも配列です。

グループ「B」要素を見つけて更新したい。

jQuery のようなチェーンのようなクエリを実行しようとしました。

このようなもの..

しかし、これは機能しません。しかし、要点は、グループ内のグループ要素を照会したいということです。

これを行うことに関する提案はありますか?

特にPHPの実装についてアドバイスを頂ければ大変助かります

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

php - mongoDBでコレクションを作成すると競合が発生する可能性がありますか?

$db が php で作成された mongoDB 接続であるとします。

コレクションはまだありません。

1つのデータを挿入しました

これはと同等です

問題は、挿入ではなく

db.board_name.board

構造ですが

"db.board_name.board.article" <--- これら 3 つを文字列として挿入するだけです。

今のところ、結合された文字列のように示されているだけですか

「board_name」の後に他の要素がないためですか?

「board_name」の直後にさらに何かを追加するとどうなりますか

その場合、mongoDB は「rank」コレクションを「board_name」の一部としてスマートに認識しますか?

または単に「db.board_name.rank」で他のコレクションを作成しますか?

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

mongodb - MongoDB「接続に失敗しました。操作が進行中です」

昨日、奇妙な振る舞いが現れました:

小さな負荷では、すべてのクエリに時間がかかり、サイトからエラーが返されます「MongoDB への接続に失敗しました。操作は現在進行中です」 mongostat では、約 10 ~ 30 の接続が表示されます (通常は 400 ~ 500 で動作するため、非常に小さい)。 "netstat -na | grep 27017" 非常に多くの TCP 接続が表示されます (> 150):

http://pastebin.com/3ghtwkVd

なぜmongodbは接続を閉じますが、TCPはまだ開いていますか?

永続的な接続は使用せず、常にスクリプトの最後で Mongo:close() を実行します。

サイトは Amazon EC2 のようなクラウド システムで動作します (ネットワークの問題は確認されていません)。

10.1.1.16 - MongoDB 10.1.1.7 - サーバー間の Apache 1Gbit/s OS: Debian 6 Squeeze MongoDB: 1.8.2 (1.6.6 でも同じ問題があります) Apache 2 PHP 5.3.6 PHP mongo ドライバー 1.1.0 (接続1.2.x でのプーリングは私たちにとって非常に悪いです)

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

php - キャップ付きコレクションでの PHP mongoDB ドライバーを介した挿入時に _id の生成を抑制

_id インデックスのない上限付きコレクションがあり、_id はまったく必要ありませんが、PHP mongo ドライバーは挿入時に常に _id を追加します。

mongo シェルで _id の自動生成を抑制することができます

PHPで挿入時に_idを抑制するにはどうすればよいですか?

0 投票する
3 に答える
282 参照

php - PHPを使用してMongoDBでWHEREa='x'またはWHEREb='y'を実行する

私はMongoDBから始めており、特にMongoDBとそれを使用するためのPHPインターフェースから始めています。私はMySQLから来ており、少し迷っています。

私がやろうとしているのは、Mongoの「エントリ」を次のように持つことです。、、そしてusername検索して次のものを探します。passwordemailcountry

username IS to A OR email IS to B

これはどのように行うことができますか?

前もって感謝します!

0 投票する
4 に答える
3018 参照

mongodb - MongoDB & PHP - ネストされた配列の数を返す

次のようなドキュメントを含む MonogDB コレクションがあるとします。

コンポーネント内のアイテムの名前と数を返すにはどうすればよいですか? map/reduce を使用する必要がありますか?

PHP の Mongo 拡張機能を使用しています。

編集:PHPの現在のコードのスニペット(動作中)ですが、コンポーネントの数が欲しいだけです

ありがとう、ジム

0 投票する
2 に答える
740 参照

mongodb - Mongo スキーマ設計

私はモンゴにかなり慣れていません。Mongodb をデータベースとして使用するプロジェクトを開始しました。次のユース ケースをドキュメント ベース データベースにどのように設計すればよいかわかりません。

ユーザーケース
1. ベンダー/ディストリビューターは、当社のシステムに製品のリストを持っています。
2. すべての顧客向けに、各製品の標準価格表があります。
3. ベンダー/ディストリビューターは、顧客ごとに各製品の価格表をカスタマイズすることもできます。
例えば。CustA には、標準とは異なる価格設定の productA があり、CustA だけが利用できます。4. 一部の製品はカスタマイズ価格でのみ入手可能であり、それらの製品を属性 public = false と照合します。

ドキュメントベースデータベースでこれをどのように解決すればよいですか?
私が持っている現在のデザインはです。
1. [製品説明書] 標準価格表の文書が埋め込まれています。
2. [ Product_Price Document ] と oneToMany リンク [ Product Document ] および oneToMany から [ Customer Document ]
3. [ Customer Document ]。

このモデルでは、ページングによるクエリの問題に直面しています。
例 名前でソートされた最初の 30 個の製品を照会します。次に、一致する 30 の ProductId を使用して [ Product_Price Document ] をクエリし、ログインした顧客の価格をカスタマイズします。

問題は、すべての人が利用できるわけではないユーザーに合わせてカスタマイズされたアイテムをクエリできなかったところにあります。

より良い方法やスキーマの設計はありますか、またはクエリで何をすべきですか?

PHP、Doctrine2、Symfony2 を使用しています

0 投票する
2 に答える
2902 参照

mongodb - Doctrine2 Mongodb に $or 演算子を追加

doctrine2 ODM で次のクエリを作成することは可能ですか?

私が理解していない doctrine2 の主な問題は、$query? に $or を追加する方法です。

これは、まだ不足している $and 演算子に役立ちます。

現在、Symfony2 Doctrine2 Mongodb を使用しています