2017-05-04 15 views
0

私はAngular MEANスタックアプリケーションにタグ機能を実装しているので、これらのタグ(「タグ」オブジェクト)の1つ以上を持つすべてのオブジェクト(この場合は「NFR」)を取得するようにDBにクエリします。したがって、私はTagオブジェクトの配列を含むNFRオブジェクトを持っています。私はタグ付きレコードが存在するにもかかわらず何も返さないMongoDB検索クエリを試してきました。 いくつかのコードスニペットがあります(NFRとTagのMongooseスキーマ定義)。非常に前もっておかげで:-)。 ケイティ特定のオブジェクトの配列を含むすべてのレコードを検索するためにMongoDBをクエリするにはどうすればよいですか?

  • NFRスキーマ:

    import * as mongoose from "mongoose"; 
    import {Tag} from "../../app/main/models/tag"; 
    
    let NFR = new mongoose.Schema({ 
        category: String, 
        subCategory: String, 
        nfr: String, 
        acceptanceTest: String, 
        source: String, 
        status: String, 
        creationDate: Date, 
        createdBy: String, 
        changeLog: String, 
        tags: [{ 
         type: Tag 
        }] 
    }); 
    
  • タグスキーマ

    import * as mongoose from "mongoose"; 
    
    let Tag = new mongoose.Schema({ 
        name: String, 
        source: String, 
        creationDate: Date, 
        _id: String 
    }); 
    

データベースでサーチするNFRオブジェクトはオブジェクトID参照介して2つのタグオブジェクトを含むscreenshot of database

+0

あなたの試行を追加できますか?あなたが使用する入力データとクエリを見たいだけでした – Veeram

答えて

0

ありがとうございましたVeeram、NFRの中のTag mongooseクラスを移動して、関連するTagオブジェクトを適切に作成する必要がありました(私はこれで検索できます)。これは悪いハックですが、なぜそれが適切な方法では動作しないのか分かりませんが、今のところそれができます。

関連する問題