問題タブ [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.
javascript - MongoDB - クエリの難問 - ドキュメント参照またはサブドキュメント
MongoDB に保存している一部のデータで少し問題が発生しました (注: ODM として mongoose を使用しています)。私は2つのスキーマを持っています:
と
バイヤー/アイテムには、1 対多の関係を持つ親子関係があります。Item を Buyer ドキュメントにサブドキュメントとして埋め込むように設定したり、オブジェクト ID を相互に参照する 2 つの別個のドキュメントを作成したりできることを知っています。
私が直面している問題は、入札額がバイヤーのクレジットよりも低いだけでなく、場所が特定の地理座標に近いアイテムをクエリする必要があることです。
最初の基準を満たすには、Items をサブドキュメントとして埋め込んで、2 つの数値を比較できるようにする必要があるようです。しかし、位置を geoNear クエリで比較するには、ドキュメントを分離したほうがよいようです。そうしないと、各サブドキュメントで geoNear を実行できません。
このデータに対して両方のタスクを実行できる方法はありますか? その場合、どのようにデータを構造化すればよいですか? そうでない場合、1 つのクエリを実行してから、最初のクエリの結果に対して 2 番目のクエリを実行する方法はありますか?
ご協力いただきありがとうございます!
php - Mongo ODM @Collection アノテーションの使用法
Mongo で @Collection アノテーションを使用する方法がわかりません。ご存じのとおり、単純な配列を Mongo ドキュメントに保存しようとしています。
だから私の文書では:
たとえば、何かを保存しようとすると:
「予想されるコレクション、配列を取得しました」という警告が表示されるようになりました。
どうして?
php - doctrine2 でのコレクションのソート
次のクエリを作成しました (効率的である場合とそうでない場合があります。私はまだ初心者です)。
ドキュメントで次のような r 値で並べ替えようとしています。
しかし、実際にはそのr値でソートされていません。私は何を間違っていますか?
java - Dropwizard スプリング データ カウチベース
Dropwizard、Couchbase、ElasticSearch を使用してプロジェクトを構築しています。
Dropwizard と CouchBase の ODM のような永続化レイヤーを探しています。調べてみると、Spring-data-couchbase が見つかりました。DropWizard を Spring-data-couchbase と統合して、永続化のためだけに Spring-data-couchbase を使用することはできますか? Spring-data-couchbase だけを使用すると、IOC コンテナーが作成されますか?
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 の問題だと思いますか? この問題を抱えているのは私だけですか?
どんな助けでも大歓迎
mongodb - mongodb のネストされたクエリ
mongoDB 2 または 3 で次のドキュメントのすべてのタグを照会するにはどうすればよいですか。
結果として、次のようなものが必要です。
doctrine odm でクエリのスタイルが必要です。
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_password、email、warehouse_level、...) で MissingSchemaError が発生します。すべてのユーザーは、warehouse_level で自分のドキュメントを参照しています。