gpt4 book ai didi

javascript - Firebase 数据库查询返回 null(函数)

转载 作者:行者123 更新时间:2023-11-28 17:40:05 25 4
gpt4 key购买 nike

我正在尝试向我的 Firebase 帐户添加一些触发函数,但在此之前我想学习 Firebase 查询的基础知识,因此我编写了一个 js 文件并通过在命令提示符中编写“node index.js”来测试它。从 youtube 等学习了一些基本查询,并尝试将其集成到我的 js 文件中,但到目前为止还没有成功。我所有的查询都返回 null,我不明白我在做什么。可以请您看一下吗?

提前致谢。

我的数据库结构

<firebasename>
users
edRIPg8BcZU9YPbubp7HtQo7phl1
sayilar: 2653
status: "ok"
hakan
sayilar: 5000
status: "waiting"
mehmet
sayilar: 7000
status: "ok"

我的数据库规则:

{
"rules": {
"users": {
".read": true,
".write": true
}
}
}

我的index.js文件:

var firebase = require('firebase');

var config = {
apiKey: "<my-api-key>",
authDomain: "<firebasename>.firebaseio.com",
databaseURL: "https://<firebasename>.firebaseio.com",

};
firebase.initializeApp(config);
ref = firebase.database().ref();
const events = ref.child('users').child('hakan');
const query =events.orderByChild('status').equalTo('ok').limitToFirst(2);

query.on("value", sorunsuz,sorunlu);

function sorunlu(error) {
console.log("Something went wrong.");
console.log(error);
}

function sorunsuz(data) {


var fruits = data.val();
console.log(fruits);
}

命令提示符显示

null

FIREBASE WARNING: Using an unspecified index. Your data will be downloaded and filtered on the client. Consider adding ".indexOn": "status" at /users/hakan to your security rules for better performance.

最佳答案

代码的问题在这里:

ref = firebase.database().ref();
const events = ref.child('users').child('hakan');

事件针对这部分数据:

 users
hakan
sayilar: 5000
status: "waiting"

然后你打电话

const query =events.orderByChild('status').equalTo('ok').limitToFirst(2);

它通过子项 status 查询 hakan 的子项,这将返回 null,因为 hakan 下的两个键都没有子项 状态。您似乎想将 events 更改为:

const events = ref.child('users')

然后,您可以根据用户的 child 状态对用户的 child 进行排序。

关于javascript - Firebase 数据库查询返回 null(函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48122287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com