首页 > 解决方案 > NodeJS 和 MongoDB 的 Schema 结构建议

问题描述

我有一些问题Node.jsMongoDBAPI

因为MongoDB我们NoSQL不能像 SQL 一样使用关系查询,所以我必须从所有业务中获取业务,然后找到该业务的用户,然后必须检查用户角色(根据逻辑),然后我可以找到我得到的设备信息用于发送移动和网络推送通知的设备令牌,分叉device_type是网络还是移动。

这样我就可以发送推送通知,现在当我从客户端获取附加信息时出现问题,例如我们需要将通知存储在模式中,因此在发送推送通知后,我必须将通知存储到一个模式中。在更新我的代码以存储该通知时,有些通知已存储而有些未存储,我需要知道我的情况有什么问题(代码结构或数据结构)。

我知道我必须像RDBMS. 如果我对数据结构有误,请根据结构用适当的结构启发我,MongoDB如果结构没有问题,请用代码结构指导我。?

标签: node.jsdatabasemongodbnosql

解决方案


问题出在您的代码中

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
};

推荐阅读