sql >> データベース >  >> NoSQL >> MongoDB

少なくとも1つの関連オブジェクトを含むレコードを取得する

    問題は、Mongoidの has_many 親ドキュメントには何も残さないので、親ドキュメントに役立つクエリはありません。ただし、belongs_to :user Task:user_idを追加します Taskへのフィールド コレクション。それはあなたにこのような恐ろしいことを残します:

    user_ids = Task.all.distinct(:user_id)
    users    = User.where(:id => user_ids).limit(10)
    

    もちろん、 embeds_many :tasksがある場合 has_many :tasksの代わりに 次に、:tasksにクエリを実行できます users内 あなたが望むようにコレクション。 OTOH、これはおそらく他のものを壊すでしょう。

    タスクを分離しておく必要がある場合(つまり、埋め込まれていない場合)、Userにカウンターを設定できます。 タスクの数を追跡し、次のように言うことができます:

    User.where(:num_tasks.gt => 0).limit(10)
    


    1. マングース検証エラーの処理–どこでどのように?

    2. カスタム検証と事前保存フックのためのMongoEngineDocumentクラスメソッドの使用

    3. 配列が存在する場合はオブジェクトを配列にプッシュし、そうでない場合はMongoDBでオブジェクトを使用して配列を作成します

    4. 複数のcsvファイルへのMongoexport