我想在新用户注册时将通知推送到 mongoDB 的通知集合中

Posted

技术标签:

【中文标题】我想在新用户注册时将通知推送到 mongoDB 的通知集合中【英文标题】:I want to push notification into the notification collection of mongo DB when a new user registers 【发布时间】:2020-05-05 06:38:52 【问题描述】:

我正在使用 MERN 堆栈。当新用户注册时,我想将通知推送到 Mongo DB 的通知集合中。以前我使用过firebase,使用谷歌云功能很容易将通知推送到firestore。我搜索了很多,但没有找到解决方案。

【问题讨论】:

如果你想在集合中添加一个带有注册的文档,你可以检查预保存挂钩。 你在使用 mongoose 和 node.js 吗? 是的 @PuneetSingh 我正在使用 mongoose 和 node.js。 【参考方案1】:

您可以使用mongoose的pre-save hooks,为此您需要创建User Schema和Notification Schema,然后在UserSchema pre-save中创建一个新的通知,如下例所示。

// modals/User.js    

const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const Notification = require('./Notification.js').Notification;


var UserSchema = new Schema(
    first_name: 
        type: String,
        required: true
    ,

    last_name: 
        type: String,
        required: true
    ,

    ......
);

UserSchema.post('save', function(doc) 
    var NewData = new Notification(
        user_id: doc._id,
        text: "Welcome to application"
    );

    NewData.save(function(err, notification_data) 
        // any error logging or other operations
    );
);

//make this available to our users in Node applications
module.exports.User = mongoose.model('User', UserSchema);

在 Notification.js 中,您可以根据需要创建架构。

【讨论】:

它无法正常工作。它创建一个通知集合,但未定义 doc._id。 好的,我会尝试在我这边运行代码,几个小时后会检查它 使用 post 中间件解决了这个问题。谢谢,很多@PuneetSingh。

以上是关于我想在新用户注册时将通知推送到 mongoDB 的通知集合中的主要内容,如果未能解决你的问题,请参考以下文章

无需谷歌云消息(GCM)将通知从 PC 推送到 android

使用 mongoose 将字符串数组推送到 mongoDB

在使用 node.js 完成所有承诺后,我想在 mongodb 中插入数据

在运行时将指针推送到向量 C++

使用 OneSingnal 从 NodeJS 发送通知推送到 React Native

如何将 RSS 提要推送到 HTML5 通知?