草庐IT

javascript - 嵌入式文档在 node.js 中变为空

coder 2023-11-06 原文

我有一个嵌入文档如下:

var artist = new Schema({
        name: {
            type: String,
      trim:true,
      required:'Please fill artist name'
        },
        role : {
            type: String,
            trim: true,
            default: ''
        },
        isPrimary : {
            type: Boolean,
            trim: false,
        }
    });

其他文件如下:

var AlbumSchema = new Schema({
  language: {
        type: String,
        default: '',
        trim: true
    },
    artists: [artist],
    title: {
        type: String,
        default: '',
        required: 'Please fill Album title',
        trim: true
    });

当我发送请求和 princt req.body 值时,我得到如下:

{
      title: 'Demo Add',
      artists:  
       '[{"name":"Ilesh","role":"Performer","isPrimary":true,"$$hashKey":"ob 
              ject:227"}]',
        language:'EN'
}

但是一旦我将其转换为 object as

var album = new Album(req.body);

然后打印相册,结果如下:

{
      title: 'Demo Add',
      artists: [],
      language: 'English' 
}

我不知道为什么 artists value 在 case 期间变为 null。

编辑:

exports.SaveAlbum = function(req,res){
        var album = new Album(req.body);
        var data = _.pick(req.body, 'type')
                , uploadPath = path.normalize('/album_uploads')
                , file = req.files.file;
        var user = req.user;
        album.cover_art_path = file.path;
        if (user) {
                var upsertData = album.toObject();
                delete upsertData._id;
                Album.update({_id: album.id}, upsertData, {upsert: true},function(err)
                {
                        if (err) {
                                return res.status(400).send({
                                    message: errorHandler.getErrorMessage(err)
                                });
                }
                else {
                                res.json(album);
                }
                });
        } else {
            res.status(400).send({
                message: 'User is not signed in'
            });
        }

};

最佳答案

数组中的 '' 存在问题,如下所述。当按照说明发送 req.body 时,这是起源的问题。

您的要求正文是:

{
      title: 'Demo Add',
      artists: '[{"name":"Ilesh","role":"Performer","isPrimary":true,"$$hashKey":"ob 
              ject:227"}]',
        language:'EN'
}

它必须是:

{
      title: 'Demo Add',
      artists: [{"name":"Ilesh","role":"Performer","isPrimary":true,"$$hashKey":"ob 
              ject:227"}],
        language:'EN'
}

这个引号使艺术家成为一个字符串,而不是一个数组,然后在保存时失败。

那么,解决方案是:

var album = new Album(req.body); 
album.artists = JSON.parse(req.body.artists);

希望有所帮助。

谢谢

关于javascript - 嵌入式文档在 node.js 中变为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30285781/

有关javascript - 嵌入式文档在 node.js 中变为空的更多相关文章

  1. Matlab imread()读到了什么 (浅显 当复习文档了) - 2

    matlab打开matlab,用最简单的imread方法读取一个图像clcclearimg_h=imread('hua.jpg');返回一个数组(矩阵),往往是a*b*cunit8类型解释一下这个三维数组的意思,行数、数和层数,unit8:指数据类型,无符号八位整形,可理解为0~2^8的数三个层数分别代表RGB三个通道图像rgb最常用的是24-位实现方法,即RGB每个通道有256色阶(2^8)。基于这样的24-位RGB模型的色彩空间可以表现256×256×256≈1670万色当imshow传入了一个二维数组,它将以灰度方式绘制;可以把图像拆分为rgb三层,可以以灰度的方式观察它figure(1

  2. ruby-on-rails - 使用 javascript 更改数据方法不会更改 ajax 调用用户的什么方法? - 2

    我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的

  3. Ruby 等同于 Sphinx 文档生成器? - 2

    Ruby有一些不错的文档生成器,例如Yard、rDoc,甚至Glyph。问题是Sphinx可以做网站、PDF、epub、LaTex等。它在重组文本中完成所有这些事情。在Ruby世界中有替​​代方案吗?也许是程序的组合?如果我也能使用Markdown就更好了。 最佳答案 自1.0版以来,Sphinx有了“域”的概念,它是从Python和/或C以外的语言标记代码实体(如方法调用、对象、函数等)的方法。有一个rubydomain,所以你可以只使用Sphinx本身。您唯一会缺少的(我认为)是Sphinx使用autodoc从源代码自动创建文档

  4. ruby-on-rails - Assets 管道损坏 : Not compiling on the fly css and js files - 2

    我开始了一个新的Rails3.2.5项目,Assets管道不再工作了。CSS和Javascript文件不再编译。这是尝试生成Assets时日志的输出:StartedGET"/assets/application.css?body=1"for127.0.0.1at2012-06-1623:59:11-0700Servedasset/application.css-200OK(0ms)[2012-06-1623:59:11]ERRORNoMethodError:undefinedmethod`each'fornil:NilClass/Users/greg/.rbenv/versions/1

  5. ruby-on-rails - Rails - 理解 application.js 和 application.css - 2

    rails新手。只是想了解\assests目录中的这两个文件。例如,application.js文件有如下行://=requirejquery//=requirejquery_ujs//=require_tree.我理解require_tree。只是将所有JS文件添加到当前目录中。根据上下文,我可以看出requirejquery添加了jQuery库。但是它从哪里得到这些jQuery库呢?我没有在我的Assets文件夹中看到任何jquery.js文件——或者直接在我的整个应用程序中没有看到任何jquery.js文件?同样,我正在按照一些说明安装TwitterBootstrap(http:

  6. ruby-on-rails - 在 irb 中阅读文档 - 2

    我怀念ipython的一件事是它有一个?为特定功能挖掘文档的运算符。我知道ruby​​有一个类似的命令行工具,但是我在irb中调用它非常不方便。ruby/irb有类似的东西吗? 最佳答案 Pry是IPython的Ruby版本,它支持?命令来查找有关方法的文档,但语法略有不同:pry(main)>?File.dirnameFrom:file.cinRubyCore(CMethod):Numberoflines:6visibility:publicsignature:dirname()Returnsallcomponentsofthef

  7. ruby - 在 Mechanize 中使用 JavaScript 单击链接 - 2

    我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan

  8. ruby - 使用 Nokogiri 和 Ruby 从 html 文档获取链接和 href 文本? - 2

    我正在尝试使用nokogirigem提取页面上的所有url及其链接文本,并将链接文本和url存储在散列中。FooBar我想回去{"Foo"=>"#foo","Bar"=>"#bar"} 最佳答案 这是一个单行:Hash[doc.xpath('//a[@href]').map{|link|[link.text.strip,link["href"]]}]#=>{"Foo"=>"#foo","Bar"=>"#bar"}拆分一点可以说更具可读性:h={}doc.xpath('//a[@href]').eachdo|link|h[link.t

  9. node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试 - 2

    我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

  10. ruby - 如何让 Nokogiri 解析并返回 XML 文档? - 2

    这是一些奇怪的例子:#!/usr/bin/rubyrequire'rubygems'require'open-uri'require'nokogiri'print"withoutread:",Nokogiri(open('http://weblog.rubyonrails.org/')).class,"\n"print"withread:",Nokogiri(open('http://weblog.rubyonrails.org/').read).class,"\n"运行此返回:withoutread:Nokogiri::XML::Documentwithread:Nokogiri::

随机推荐