2016-04-03 90 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