問題タブ [doctrine-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 投票する
0 に答える
3228 参照

mongodb - 教義: ODM 対 ORM

新しい Doctrine 2.0 プロジェクトで ODM/ORM/ODM と ORM エンティティの混合を使用することを検討しています。ORM (MySQL InnoDB) と ODM (MongoDB) をいつ使用する必要がありますか? 1 つのプロジェクトに混在させる必要がありますか?

私のアプリの疑似構造(Google Readerのようなもの):

  • ユーザー{ID、ログイン、パスワード、メール}
  • チャネル { ID、URL }
  • エントリ { id、channelId、タイトル、本文、日付 }
  • entryValue { entryId, userId, 値 }
  • userFriend { user1Id, user2Id }

最も一般的な機能:

  • getValuesOfNewsByUsers(newsId, [userIdArray])
  • getEntriesByUserWithMinValue(userId, minValue)
  • areFriends(ユーザー1、ユーザー2)
  • getEntryValues(userId, [entryIdArray])

entryおよびentryValueテーブルの数十億行に備える必要があります。

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

mongodb - Doctrine ODM とスキーマレス設計

EAVに関する質問の続きですが、MongoDB を使用して製品属性を保存することを検討しています。

このアプリのカタログ部分 (カテゴリ、製品、およびそれらに関連するすべての情報) を MongoDB (または別のドキュメント データベース) に保存します。

私の質問は、ODMを使用する場合、各エンティティにはスキーマがあり、NoSQL データベースを使用するスキーマのない利点を本質的に無視しているのではないでしょうか?

これが正しければ、なぜ ODM を使用するのでしょうか?

編集:関連する質問を見つけました。ハッシュを使用して製品属性機能を実現できますか?

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

php - ネストされたネストされた埋め込みドキュメントの永続化の問題

更新:これは間違いなくバグで、Jira で問題が発生しました: http://bit.ly/gpstW9
更新 (2011 年 5 月 5 日): jwage の推奨により、カテゴリと投稿の間の参照関係 (埋め込みではなく) に切り替えました。

Doctrine ODM の最新バージョン (Git から新しく) を使用しています。

3 つのレベルのドキュメント (2 つの埋め込み) があります。カテゴリ -> EmbedsMany: 投稿 -> EmbedsMany PostVersion。

PostVersion は、Post によって自動的に処理されます。新しい投稿を作成すると、実際には内部で新しい PostVersion も作成されます。

私の問題は、Doctrine が PostVersions と混同されることです。既存のカテゴリを取得してそれに新しい投稿を追加すると、新しい投稿の PostVersions がカテゴリの $posts コレクションの最初の投稿に追加されます。

ステップバイステップ:

  1. 新しい投稿 (Post1) とカテゴリを作成します
  2. Post1 をカテゴリに追加
  3. パーシスト カテゴリ、フラッシュ、クリア
  4. カテゴリを取得
  5. 新しい投稿を作成する (Post2)
  6. Post2 をカテゴリに追加
  7. 流す

データベースのこの段階では、1 つのカテゴリと 2 つの投稿があり、各投稿には 1 つの PostVersion があります。ただし、実際には、カテゴリが 1 つ、投稿が 2 つあり、最初の投稿には 2 つの PostVersion があり、2 番目の投稿には PostVersion がありません。

リクエスト中のドキュメント自体は正しいですが、間違っているデータベースに永続化したいだけです。私は何が欠けていますか?

期待される結果:

実結果:


これが私のドキュメントです

カテゴリ.php

Post.php

PostVersion.php

... xdebug で汚れる時が来たと思います。

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

php - Doctrine ODM / MongoDB : AND クエリで

mongoDB で Doctrine ODM を使用しています。

次のようなクエリを実行しようとしています:

アイデアは、その中にあるすべてのドキュメントを選択することです

私が使用している構文では、次のドキュメントを取得しています

続行する方法、または可能かどうかについてのアイデアはありますか?

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

php - Doctrine MongoDB ODM Document Proxy を強制的に「元の」ドキュメントに変換する方法は?

ドキュメント User で参照されているドキュメント Person があります。User を取得すると、Person オブジェクトは埋め込まれていませんが、Person プロキシ オブジェクトが埋め込まれています。プロキシを「強制」して「完全な」ドキュメントにする方法はありますか (Person proxy => Person)。

メソッドを呼び出して追加のデータを取得しようとしました (そのため、__load がトリガーされますが、オブジェクトは「プロキシ」バージョンのままです。

ODM のドキュメントよりも、誰かがこれについて詳しく説明してくれることを願っています。

0 投票する
5 に答える
7114 参照

symfony - Symfony2-DoctrineMongoDBBundle-Doctrine \ Common \ Annotations \ AnnotationException

DoctrineMongoDBBundleを使用しようとしていますが、問題が発生しています。

私のconfig.ymlには、次のものがあります。

私のUser.phpクラス:

コマンドを実行すると:

次のエラーが発生します。

[Doctrine \ Common \ Annotations \AnnotationException]
[セマンティックエラー]クラスHALL\HelloWorldBundle \ Document\Userのアノテーション"@Doc​​trine\ ODM \ MongoDB \ Mapping \ Annotations \ Document"が存在しないか、自動ロードできませんでした。

なぜ何かアイデアはありますか?注釈は明確に参照されています。

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

mongodb - Doctrine MongoDB geoNear

doctrine-mongodb プロジェクトを書き換えずに geoNear コマンドを実行する方法を確認しようとしています。Expr.php および Builder.php ファイルを調べましたが、geoNear コマンドへの参照が見つかりませんでした。Doctrine MongoDB ODM でこの機能を取得するにはどうすればよいですか?

ありがとう

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

mongodb - プレーンな php クラスで Doctrine Mongodb ODM を使用できますか?

別のプロジェクトに Doctrine mongodb ODM を使用したいのですが、この ODM を使用してすべての mongodb 関連のデータベース呼び出しを実行したいと考えています。

私のアプリケーション(シンフォニーではない)がユーザーオブジェクトを追加したいとき、Mongodb-ODMで書かれたユーザードキュメントクラスを呼び出したい

ここで、ドキュメントに示されている以下のように、このクラスを個別のphpクラスから呼び出したいと思います....

この $dm= documentmapper を別の php クラスで使用するには、どのような手順が必要ですか?

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

php - Doctrine Mongo update $pull クエリが機能しない

$pull更新クエリを使用して (ドキュメントを削除する目的で) ドキュメントへの参照を削除しようとしていますが、何も起こっていないようです。

次のMongoクエリを手動で実行できます

これは正常に動作します。Doctrine の ODM で同じことをしようとしても、期待される結果もエラー メッセージも得られません。これまでの内容は次のとおりです

私が間違っていることについてのヒントはありますか?

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

php - Doctrine ODM / PHP / MongoDB - 参照された要素をクエリできません

特権を持つイベントがあり、この特権はユーザーを参照します。ユーザーに関連付けられたすべてのイベントを取得しようとしていますが、教義が思い通りに機能していないようです。

これが私のMongoスキーマです

ドクトリン イベント エンティティ:

特権エンティティ:

そして User エンティティ:

次のことを試しましたが成功しませんでした

Event クラスも使用してみましたが、それ以上の成功はありません...確かに何かが欠けていますが、何がわかりません! どんな助けでも大歓迎です。

ありがとう。