問題タブ [odm]

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

javascript - MongoDB - クエリの難問 - ドキュメント参照またはサブドキュメント

MongoDB に保存している一部のデータで少し問題が発生しました (注: ODM として mongoose を使用しています)。私は2つのスキーマを持っています:

バイヤー/アイテムには、1 対多の関係を持つ親子関係があります。Item を Buyer ドキュメントにサブドキュメントとして埋め込むように設定したり、オブジェクト ID を相互に参照する 2 つの別個のドキュメントを作成したりできることを知っています。

私が直面している問題は、入札額がバイヤーのクレジットよりも低いだけでなく、場所が特定の地理座標に近いアイテムをクエリする必要があることです。

最初の基準を満たすには、Items をサブドキュメントとして埋め込んで、2 つの数値を比較できるようにする必要があるようです。しかし、位置を geoNear クエリで比較するには、ドキュメントを分離したほうがよいようです。そうしないと、各サブドキュメントで geoNear を実行できません。

このデータに対して両方のタスクを実行できる方法はありますか? その場合、どのようにデータを構造化すればよいですか? そうでない場合、1 つのクエリを実行してから、最初のクエリの結果に対して 2 番目のクエリを実行する方法はありますか?

ご協力いただきありがとうございます!

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

php - Mongo ODM @Collection アノテーションの使用法

Mongo で @Collection アノテーションを使用する方法がわかりません。ご存じのとおり、単純な配列を Mongo ドキュメントに保存しようとしています。

だから私の文書では:

たとえば、何かを保存しようとすると:

「予想されるコレクション、配列を取得しました」という警告が表示されるようになりました。

どうして?

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

php - doctrine2 でのコレクションのソート

次のクエリを作成しました (効率的である場合とそうでない場合があります。私はまだ初心者です)。

ドキュメントで次のような r 値で並べ替えようとしています。

しかし、実際にはそのr値でソートされていません。私は何を間違っていますか?

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

java - Dropwizard スプリング データ カウチベース

Dropwizard、Couchbase、ElasticSearch を使用してプロジェクトを構築しています。

Dropwizard と CouchBase の ODM のような永続化レイヤーを探しています。調べてみると、Spring-data-couchbase が見つかりました。DropWizard を Spring-data-couchbase と統合して、永続化のためだけに Spring-data-couchbase を使用することはできますか? Spring-data-couchbase だけを使用すると、IOC コンテナーが作成されますか?

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

mongodb - Doctrine ODM geoNear Distance が適切にマッピングされていません (常に null)

geoNear クエリを実行するときに、ドキュメントで mongodb 距離値を取得する際に問題が発生しています。

関連する 3 つのドキュメントがあります: 場所を埋め込む場所と座標を埋め込む場所です。

これが私のモデルの「ライト」バージョンです

会場 :

位置 :

座標:

このモデルから、次のような VenueRepository で geoNear クエリを実行すると:

'$result->toArray()' (または単純に結果の foreach) を実行してオブジェクト コレクションを抽出します

しかし、mongodbが距離を適切に計算したとしても、私が行う$venue->getDistance()と常に が返されます。null

このクエリの結果のサンプルを次に示します。

get/setDistance を Venue ドキュメントから削除し、$distance 宣言を Location ドキュメントに移動しようとしましたが、何も機能しません。nor からの距離を取得できませ$object->getDistance()$object->distance

このプロパティ マッピングを自分で処理することもできますが、代わりに Doctrine メソッドを使用する方がはるかに便利です。それが機能する場合は...どこが間違っているのか、それとも自分のコードが原因なのかわかりません。

ここに私のcomposer.jsonのサンプルがあります:

debian VM (Linux wheezy64 3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u3 x86_64 GNU/Linux) に mongodb 2.6.11 をインストールしました。

Doctrine ODM の問題だと思いますか? この問題を抱えているのは私だけですか?

どんな助けでも大歓迎

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

mongodb - mongodb のネストされたクエリ

mongoDB 2 または 3 で次のドキュメントのすべてのタグを照会するにはどうすればよいですか。

結果として、次のようなものが必要です。

doctrine odm でクエリのスタイルが必要です。

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

node.js - ObjectId の Mongoose スキーマのデフォルト値

倉庫のアップグレードのコレクションがあります。これは、max_capacity、レベル、価格などを含む定義済みの「テンプレート」コレクションです。次に、warehouse_levels コレクションがあります。これには、さまざまな保存リソースの Warehouse_upgrades へのさまざまなインデックスが含まれています。しかし、warehouse_upgrades の _ids をロードする必要があるため、warehouse_level モデルを作成できません。

var WarehouseLevel = mongoose.model("warehouse_level"); を呼び出したい場合 このコードを解釈すると、エラーがスローされます。

WarehouseUpgrade.find からスキーマ定義を抽出すると、コードは機能しますが、リソース ウェアハウスの既定値を設定できません。

この値をハードコーディングしたくない場合、別のコレクションから ObjectId のデフォルト値を設定するにはどうすればよいですか?

編集: mongoose.js という名前のファイルにすべてのスキーマ定義をロードします。

モデル/ユーザー (username、hashed_pa​​ssword、email、warehouse_level、...) で MissingSchemaError が発生します。すべてのユーザーは、warehouse_level で自分のドキュメントを参照しています。