我想在新用户注册时将通知推送到 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
在使用 node.js 完成所有承诺后,我想在 mongodb 中插入数据