繁体   English   中英

Firebase - Object.key返回undefined

[英]Firebase - Object.key returns undefined

我想根据多个值来排序查询。 问题是,我无法选择对象键type因为我这样做时undefined

var filterDataAccordingToDate = function(ref, startTime, endTime, travelType) {

            ref.orderByChild('date')
            .startAt(startTime).endAt(endTime)
            .once('value', function(snapshot) {
                var travel = snapshot.val();

                console.log("TRAVEL OBJ: " + util.inspect(travel, false, null));
                console.log("TRAVEL TYPE: " + travel.type);

                if (travel.type == travelType) {
                    // DO STUFF
                }

            });
    }

第一个console.log()返回正确的对象:

TRAVEL OBJ: {
  "-KKiZKAVH0-QulKnThhF" : {
    "date" : 1466439009,
    "dest" : 1,
    "fbKey" : "-KKiZKAVH0-QulKnThhF",
    "type" : 1
  }
}

第二个: TRAVEL TYPE: undefined

任何想法,我犯了错误?

DataSnapshot上使用.forEach()方法

snapshot.forEach(function(snap) {
  var key = snap.key;
  if (key === travelType) {
    // Do stuff
  }
});

由于您将检索多个对象,因此需要对它们进行迭代以获取每个对象的值。

for (var key in travel) {
      console.log("TRAVEL OBJ: " + util.inspect(travel[key], false, null));
      console.log("TRAVEL TYPE: " + travel[key].type);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM