Cloud Functions for Firebase:枚举 DataSnapshot 属性
Cloud Functions for Firebase: Enumerate DataSnapshot Properties
我想在我的 Firebase 函数中迭代 DataSnapshot 属性。这是我的代码。
alignmentsRef.once('value')
.then(function(snapshot) {
snapshot.forEach(function(k) {
var itemId = k.key //itemId
var childData = k.val() //{downvotes: {memberId: "down"}, upvotes: {memberId: "up"}}
var memberIds = childData.downvotes // {memberId: "down"}
memberIds.forEach(l => {
...
})
})
似乎 memberIds
不可枚举,因为我收到错误:
memberIds.forEach is not a function.
memberIds
将是一个 Object
- 而不是 Array
- 所以你不能使用 forEach
枚举它。但是,您可以使用 child
:
作为快照访问它
alignmentsRef
.once('value')
.then(function (snapshot) {
snapshot.forEach(function (k) {
k.child('downvotes').forEach(function (d) {
console.log(`${d.key} = ${d.val()}`);
});
});
我想在我的 Firebase 函数中迭代 DataSnapshot 属性。这是我的代码。
alignmentsRef.once('value')
.then(function(snapshot) {
snapshot.forEach(function(k) {
var itemId = k.key //itemId
var childData = k.val() //{downvotes: {memberId: "down"}, upvotes: {memberId: "up"}}
var memberIds = childData.downvotes // {memberId: "down"}
memberIds.forEach(l => {
...
})
})
似乎 memberIds
不可枚举,因为我收到错误:
memberIds.forEach is not a function.
memberIds
将是一个 Object
- 而不是 Array
- 所以你不能使用 forEach
枚举它。但是,您可以使用 child
:
alignmentsRef
.once('value')
.then(function (snapshot) {
snapshot.forEach(function (k) {
k.child('downvotes').forEach(function (d) {
console.log(`${d.key} = ${d.val()}`);
});
});