2016-04-03 92 views
0

當我嘗試Cars.find({car1: 1}).fetch()Cars.find({'car1': {model1: 1}})時,我得到null。我如何從第一場「car1」獲得所有車型?如何從集合中獲取mongodb

Cars.insert({ 
    car1: { 
     model1: { 
     year: [2012, 2013, 2014] 
     }, 
     model2: { 
     year: [2012, 2013, 2014] 
     } 
    }, 
    car2: { 
     model1: { 
     year: [2012, 2013, 2014] 
     }, 
     model2: { 
     year: [2012, 2013, 2014] 
     } 
    } 
    }); 

回答

0

這裏有兩個問題。首先,當你應該做一個$ exists測試時,你正在做一個等效性測試。換句話說,您的電話目前失敗,因爲您在詢問car1 == 1,而不是當前是否有car1字段。

像這樣的東西可能會工作:

VAR汽車= Cars.find({CAR 1:{$存在:真}})取()。 汽車[0]

其次,我相信你的插入調用是錯誤的嘗試添加兩個文件在同一時間。每次插入呼叫只能添加一輛車。嘗試重寫它:

Cars.insert({ 
    model1: { 
     year: [2012, 2013, 2014] 
    }, 
    model2: { 
     year: [2012, 2013, 2014   
    } 
    }); 

    Cars.insert({ 
    model1: { 
     year: [2012, 2013, 2014] 
    }, 
    model2: { 
     year: [2012, 2013, 2014   
    } 
    }); 
+0

_ { 「_id」: 「asujxopTrgDNugiFH」, 「名」: 「CAR 1」, 「模式」: { 「名」: 「機型1」, 「年份「:[2012,2013,2014]},{」name「:」models2「,」year「:[2012,2013,2014]},{」name「:」models3「,」year「:[2012, 2013,2014]}]} _ **如何獲取** _models1_? 當我嘗試'cars.find(名稱:「car1」,型號:{name:'models1});' 我得到空。 謝謝。 – pmnazar