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

マングースを使用してサブドキュメントを直接クエリすることは可能ですか?

    はい、ユーザーモデルから投稿タイトルを直接見つけることができます。以下のように

    User.find({"posts.title": "Cats are cool"}, (err, users) => {
      if(err) {
        // return error
      }
      return res.send(users)
    })
    

    これにより、一致する投稿タイトルだけでなく、すべての投稿を持つユーザーが返されます。したがって、一致する投稿タイトルのみを返すには、$を使用できます 位置演算子。このクエリのように

    User.find({"posts.title": "Cats are cool"},
      {username: 1, "posts.$": 1}, // add that you need to project
      (err, users) => {
        if(err) {
          // return error
        }
        return res.send(users)
    })
    

    一致する投稿のみを返す



    1. gopkg.in/mgo.v2の同時実行性(Mongo、Go)

    2. mongodbのドキュメントから1つまたは2つのフィールドのみを削除するにはどうすればよいですか?

    3. MongoDBコレクションのオブジェクト配列内のクエリされた要素のみを取得します

    4. MongoDB:$または全文検索と$ in