【问题标题】:Save Array Mongoose保存阵列猫鼬
【发布时间】:2018-12-30 03:42:09
【问题描述】:

我无法使用 Mongoose 将字符串数组保存到我的数据库中

架构:

const TrombinoSchema = new mongoose.Schema({
  Name: [String]
});

const Trombino = mongoose.model('Trombino', TrombinoSchema);

为了保存:

var trombino = new Trombino ({
    Name: req.query.name
});

trombino.save(callback);

Array.isArray(req.query.name) => true;

我尝试了不同的说法

 Name: [{type : String}] , Name: [{type : String}] or Name: []

但在我的数据库中我发现了空数组

【问题讨论】:

  • 你能展示一下回调方法的样子吗?它是否报告任何错误? Array.isArray 应该做什么?你的意思是== 而不是=>
  • 对于回调没有错误, trombino.save(function(err, data){ if(err) throw err; res.send(data); }); console.log(Array.isArray(req.query.name)) true,用于测试是否为数组!!

标签: arrays node.js mongoose mongoose-schema


【解决方案1】:

在 trombino 架构中,您需要更改 名称字段

 const mongoose = require('mongoose');
  const TrombinoSchema = new mongoose.Schema({
    Name: {type:[String]}
  });
  const Trombino = mongoose.model('Trombino', TrombinoSchema);

  let trombinoItem = new Trombino({
    Name: ['test name 1','test name 2','test name 3']
  });
  trombinoItem.save().then((result)=>{
    console.log(result);
  });

这里是执行的打印:

这是数据库中的数据。您可以将名称视为字符串数组

【讨论】:

    猜你喜欢
    • 2017-06-02
    • 2019-03-20
    • 2016-06-10
    • 2020-09-05
    • 1970-01-01
    • 2016-05-05
    • 2015-04-10
    • 2015-02-05
    • 2012-11-11
    相关资源
    最近更新 更多