node.js - 如何对 Firebase 加入的查询进行排序
问题描述
我是firebase的新手,我有一个疑问
const posts = database.child('posts');
const user = database.child('user');
posts.orderByChild("id").on('child_added', snap => {
let user_id = snap.val().user_id;
let userRef = database.child('user/' + snap.val().user_id)
userRef.on('value', userSnap => {
console.log(userSnap.val().name)
let content = snap.val().content;
let date_posted = snap.val().date_posted;
let id = snap.val().id;
let title = snap.val().title;
let user_id = snap.val().user_id;
let user_Name = userSnap.val().name;
a.push({
"id": id,
"title": title,
"date_posted": date_posted,
"content": content,
"user_Name": user_Name,
"user_id": user_id
})
});
});
在输入 UserRef Query 之前,帖子使用 id 进行了很好的排序,但是在第二次查询之后,它不再排序,即使在第二次查询之后,我如何才能使它们排序
这是数据库结构!:
我希望输出是这样的
{
id: 1,
title: 'My First Post',
date_posted: '2018-05-02 19:40:02',
content: 'This is my firstpost!',
user_Name: 'Abdelrahman',
user_id: '8721da2c-0028-430f-a995-0d03c8abb393'
},
{
id: 2,
title: 'My SecondPost',
date_posted: '2018-05-02 19:41:02',
content: 'This is my Second post!',
user_Name: 'Abdelrahman',
user_id: '8721da2c-0028-430f-a995-0d03c8abb393'
},
{
id: 3,
title: 'test Title',
date_posted: '2021-01-06 08:48:01',
content: 'test Content',
user_Name: 'Abdelrahman',
user_id: '8721da2c-0028-430f-a995-0d03c8abb393'
},
{
id: 4,
title: 'test Title2',
date_posted: '2021-01-06 08:49:42',
content: 'test Content2',
user_Name: 'Abdelrahman',
user_id: '8721da2c-0028-430f-a995-0d03c8abb393'
},
{
id: 5,
title: 'test 3',
date_posted: '2021-01-06 08:54:14',
content: 'COntent 3',
user_Name: 'Abdelrahman',
user_id: '8721da2c-0028-430f-a995-0d03c8abb393'
}
但我看到的输出根本没有排序
解决方案
通常你将令牌作为状态存储在 vuex 中。在您的方法中,您提交突变以设置令牌状态,例如:
this.$store.commit('SET_TOKEN', res.data)
在商店中,您将拥有
state: {
token: '',
},
mutations: {
SET_TOKEN(state, payload) {
state.token = payload.token
}
这只是一个示例,可根据您获得的响应进行调整。
如果你需要保持你应该使用的状态vuex persisted state
推荐阅读
- c# - 给出“System.ArgumentException:'参数无效。' " 当我从数据库中检索图像时
- java - 即使我已经将 RAM 从 8G 升级到 16G,我仍然收到 JMeter Out of Memory 错误
- python - Python - 选择出现在第二个数据框中的数据框中的行
- node.js - npm 错误!运行 npm run build 命令以进行反应时的代码 ELIFECYCLE
- javascript - JavaScript 将对象变量推送到数组中,发生值改变
- javascript - 没有按时收到 Ajax() 响应?
- python - 使用 Python 在机器学习中预处理日期的不同方法?
- excel - 计算excel VBA中每个单元格的字数
- css - 如何在反应中使用css模块模式覆盖外部模块类
- iis - azure web 服务:webconfig 子域文件重写