如何从集合mongodb获取字段

时间:2016-04-03 17:30:51

标签: mongodb

当我尝试Cars.find({car1: 1}).fetch()Cars.find({'car1': {model1: 1}})时,我得到null。如何从第一个字段“car1”获取所有模型?

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

1 个答案:

答案 0 :(得分:0)

这里有两个问题。首先,当你应该进行$ exists测试时,你正在进行等效测试。换句话说,您的呼叫当前失败,因为您询问car1 == 1,而不是当前是否有car1字段。

这样的事可能有用:

var cars = Cars.find({car1:{$ exists:true}})。fetch(); 汽车[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          
    }
  });