如何在nodejs lambda函数中获取firebase中最后添加的记录

时间:2017-10-12 07:02:47

标签: node.js amazon-web-services firebase lambda firebase-realtime-database

我是以下lambda函数我在firebase中添加记录时从firebase获取数据

'use strict';
var MongoClient = require('mongodb').MongoClient;

let atlas_connection_uri;
let cachedDb = null;

let firebase = require('firebase');

exports.handler = function(event, context,callback)
{


    // var uri = process.env['MONGODB_ATLAS_CLUSTER_URI'];
    var uri = "mongodb://163.172.131.83:28018/harmanconnectedcar";
    context.callbackWaitsForEmptyEventLoop = false;

    firebase.initializeApp({
        serviceAccount: {},
        databaseURL: "https://harmanconnectedcar-180411.firebaseio.com/"
    });


    var starCountRef = firebase.database().ref('testTable');
    starCountRef.on('value', function(snapshot) {
        console.log("*************snapshot*****snapshot*****************")
        console.log ( snapshot.val()) ;


    });
};

snapshot.val()将为整个表提供如何仅在快照中获取最近添加值的快照。

有没有办法按排序顺序获取最后添加的记录或所有记录

提到以下doc是没有用的 https://firebase.google.com/docs/reference/js/firebase.database.Query

1 个答案:

答案 0 :(得分:1)

要使用orderByChild()orderByKey()orderByValue()对查询数据进行排序。

然后,要仅检索最新值,您可以使用limitToFirst()limitToLast()来限制查询,具体取决于排序顺序。

  

有关详细信息,请参阅Sorting and filtering data上的文档。