如何在Hapijs中为用户分配帖子

时间:2016-11-23 08:23:42

标签: javascript node.js mongodb mongoose hapijs

如何将帖子与特定用户或登录用户关联。 这是post`

的mongoose模式
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

const postModel = new Schema({
    title:{type: String,required: true},
    text:{type: String},
    comments:[{text:String},
    }],
    like: Boolean,
    validated: Boolean
});

module.exports= mongoose.model('Post',postModel);

`

这篇文章转到mongo数据库然后由admin验证。用户可以评论或喜欢这篇文章。 请帮助如何在hapijs中实现此功能

1 个答案:

答案 0 :(得分:0)

有几种方法可以在 mongodb 中关联文档之间的模型,并且与 hapijs 没有严格的关联。

您可以在用户中选择嵌入帖子(我认为在您的情况下不是一个好的解决方案):

https://docs.mongodb.com/v3.2/applications/data-models-relationships/

或者在用户或邮政方面(更好)添加“foreing key”来实现它。 使用Mongoose ODM,您可以使用填充功能“原生”方式执行此操作:

http://mongoosejs.com/docs/populate.html

var aaron = new User({ name: 'Aaron', age: 100 });

aaron.save(err => {
  if (err) return handleError(err);

  var post = new Post({
    title: "Once upon a timex.",
    _creator: aaron._id    // assign the _id from the person
  });

  post.save(err => {
    if (err) return handleError(err);
    // thats it!
  });
});