保存阵列猫鼬

Posted

技术标签:

【中文标题】保存阵列猫鼬【英文标题】: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,用于测试是否为数组!! 【参考方案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);
  );

这里是执行的打印:

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

【讨论】:

以上是关于保存阵列猫鼬的主要内容,如果未能解决你的问题,请参考以下文章

如何将json对象数组保存到猫鼬?

如何将json对象数组保存到猫鼬?

猫鼬模型保存后返回承诺

猫鼬查找并保存不更新文档

猫鼬保存卡住(从未调用过回调)

保存后猫鼬更新