【问题标题】:Angular/Mongoose Saving a form with a list of documentsAngular / Mongoose保存带有文档列表的表单
【发布时间】:2015-03-31 20:49:31
【问题描述】:

我正在尝试保存一个包含使用表单的文档列表的新帖子(这只是一个简单的示例)。有没有办法做到这一点?

型号

var Post = new Schema({
  message: String,
  tags: [
      { name: String }
  ]
})

HTML

<form novalidate ng-submit="SavePost(post)">
    <input type="text" ng-model="post.message">
    <input type="text" ng-model="post.tags.name">
    <button type="submit">
</form>

控制器和 API 正在工作,因此正在保存消息。问题是:如何构造表单以便同时保存多个标签。

这里只是一个简单的例子,其中标签是只有一个键(“名称”)的文档列表。我有一个类似的问题。如果我有带有两个或更多密钥的文档怎么办?

【问题讨论】:

    标签: angularjs mongoose


    【解决方案1】:

    导出您的模型。

    module.exports = Post;
    

    在 postCtrl.js 中导入你的模型和下面的导出方法(我使用的是 express)

    var Post = require('../models/Post.js');
    
    exports.save = function(req, res){
        var post = req.body.post;
        Post.create(post, function(err, post) {
            if(err) {
                res.status(400);
                return res.send({reason: err.toString()});
            }
            res.send(post);
        });
    });
    

    之后只需将 postCtrl 导入您的路由并定义路由:

    app.post('/api/post', postCtrl.save);
    

    【讨论】:

      猜你喜欢
      • 2011-11-27
      • 2017-10-06
      • 2019-01-06
      • 2012-01-19
      • 2016-03-17
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 2018-06-30
      相关资源
      最近更新 更多