node.js - NodeJS 和 MongoDB 的 Schema 结构建议
问题描述
我有一些问题Node.js
和MongoDB
API
我的代码片段: https ://codeshare.io/5OzbW7
因为MongoDB
我们NoSQL
不能像 SQL 一样使用关系查询,所以我必须从所有业务中获取业务,然后找到该业务的用户,然后必须检查用户角色(根据逻辑),然后我可以找到我得到的设备信息用于发送移动和网络推送通知的设备令牌,分叉device_type
是网络还是移动。
这样我就可以发送推送通知,现在当我从客户端获取附加信息时出现问题,例如我们需要将通知存储在模式中,因此在发送推送通知后,我必须将通知存储到一个模式中。在更新我的代码以存储该通知时,有些通知已存储而有些未存储,我需要知道我的情况有什么问题(代码结构或数据结构)。
我知道我必须像RDBMS
. 如果我对数据结构有误,请根据结构用适当的结构启发我,MongoDB
如果结构没有问题,请用代码结构指导我。?
解决方案
问题出在您的代码中
let count = 0;
tokens.forEach(function (to) {
let message = {
to: to,
notification: {
title: varConst.APP_NAME,
body: notification
},
data: payload
};
fcmWeb.send(message, function (err, response) {
if (err) {
console.log("Something has gone wrong!");
} else {
console.log("Successfully sent with response: ", response);
}
count++;
if (count == tokens.length) {
callback("Send All");
}
});
});
在上面的代码块中,而不是使用 forEach,您可以只提供注册 ID 数组,而 fcm 将负责其余的工作。
let message = {
registration_ids:["eJ8-S5jddyI:APA91bG1jmJBVEtB04","eJ8-S5jddyI:APA91bG1jmJBVEtB04"],
notification: {
title: varConst.APP_NAME,
body: notification
},
data: payload
};
推荐阅读
- python - views.py Django中的1个函数中的多个渲染?
- reactjs - 我没有得到切换按钮组材料 ui 的值 onchange?
- ruby-on-rails-5 - 有没有办法将另一个模型中的枚举显示到选择器中?
- content-management-system - 使用 magnolia cms 更改属性文件值
- r - ggplot2:coord_polar() 和 geom_col()
- javascript - mysql nodejs经常关闭连接
- android - 谁能帮助我如何在 Android 设备上将 java.net.Socket.connect(java.net.SocketAddress, int) 与 frida 挂钩
- python - 带有标签的pyQt5 Qslider
- javascript - 在我重新加载页面之前脚本不起作用
- c# - 使游戏对象坚不可摧