Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中的在线/离线通知,如Facebook通知系统_Javascript_Node.js_Mongodb_Notifications - Fatal编程技术网

Javascript Node.js中的在线/离线通知,如Facebook通知系统

Javascript Node.js中的在线/离线通知,如Facebook通知系统,javascript,node.js,mongodb,notifications,Javascript,Node.js,Mongodb,Notifications,我正在Node.js中实现通知系统,类似于Facebook通知系统。我见过一些使用Socket.io的实现,但我不知道它是否适合我的情况。我考虑的另一种方法是创建一个通知模型(我使用MongoDB作为存储),如下所示: var Notification = new mongoose.Schema({ title: {type: String}, added: {type: Date}, accountId: {type: mongoose.Schema.ObjectId}

我正在Node.js中实现通知系统,类似于Facebook通知系统。我见过一些使用Socket.io的实现,但我不知道它是否适合我的情况。我考虑的另一种方法是创建一个通知模型(我使用MongoDB作为存储),如下所示:

var Notification = new mongoose.Schema({
    title: {type: String},
    added: {type: Date},
    accountId: {type: mongoose.Schema.ObjectId},
    notificationType: {type: String},
    isSeen: {type: Boolean}
});
然后,我将在我的帐户模式中使用:

var AccountSchema = new mongoose.Schema({
    email:     { type: String, unique: true },
    password:  { type: String },
    name: {
        first:   { type: String },
        last:    { type: String },
        full: {type: String}
    },
    notifications: [Notification]
});
然后,我将根据操作向用户添加一些通知。然而,我不确定这种方法是否有效。因此,我想知道哪种方法最适合这种情况:在线/离线通知


提前感谢,

您真的应该研究一个发布/订阅系统,以获得实时通知

如果遇到脱机的订户,可以将其存储在[Notification]架构中。一旦用户再次连接,它就可以查询它们并确认它们已被删除

资源: