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

2つの問題があります。まず、$ existsテストを実行するときに等価性テストを行います。言い換えれば、car1 == 1かどうかを尋ねているので、あなたの呼び出しは現在失敗しています。現在car1フィールドがあるかどうかはわかりません。

はこのような何かはおそらく動作します:

するvar車を= Cars.findは({CAR1は:{$が存在する:真}})を(フェッチ);。 cars [0]

第2に、2つのドキュメントを同時に追加しようとすると、挿入呼び出しが間違っていると思います。あなたは実際には、挿入コールごとに1台の車を追加するだけです。

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"、 "名": "CAR1"、 "モデル":[ { "名": "models1"、 」としてそれを書き換えてみてください{「名前」:「モデル2」、「年」:「2012年、2013年、2014年」}、{「名前」:「モデル3」、「年」:「2012年、2013年、2014年」} 2013、2014]}}} _ ** ** _models1_の取得方法 私は 'cars.find(name:" car1 "、models:{name: 'models1});' を取得しようとします。おかげさまで – pmnazar