2017-05-04 28 views
0

我在我的Angular MEAN棧應用程序中實現標記功能,因此想要查詢數據庫以檢索具有一個或多個這些標記(「標記」對象)的所有對象(本例中爲「NFR」)。因此我有NFR對象可能包含一個Tag對象數組。我嘗試了一些MongoDB查找查詢,儘管標記的記錄存在,但它們什麼都不返回。 下面是一些代碼片段(用於NFR和標籤的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引用screenshot of database兩條標對象。

+0

你可以添加一個你的嘗試嗎?只是想看看你使用的輸入數據和查詢 – Veeram

回答

0

感謝Veeram,我不得不在NLR裏面移動標籤mongoose類,以便正確創建相關的標籤對象(我現在可以搜索到)。這是一個糟糕的黑客攻擊,不知道爲什麼它不能正常工作,但現在就可以完成。

相關問題