1. ホーム
  2. node.js

[解決済み] Mongoose - 文字列の配列を保存する

2022-02-06 20:05:18

質問

文字列の配列をDBに保存する際に Mongoose .

(以下のコードはすべて、ここで書きやすくするために簡略化されていることに注意してください)

そこで、私が持っている人物スキーマの変数を宣言しています。

var newPerson = new Person ({
    tags: req.body.tags
});

スキーマ自体は以下のような感じです。

var personSchema = new mongoose.Schema({
  tags: Array
});

そして、保存するときは、そのシンプルなものです。

newPerson.save(function(err) {
    //basic return of json
});

しかし、DBをチェックするたびに、配列全体、つまり私がどのように送ったかを示す1つのエントリが表示されるだけなのです。

何か追加でやるべきことはありますか?

解決方法は?

私のコメントから書き起こしてください。

mongooseで文字列の配列を指定する方法は以下のような感じです。

var personSchema = new mongoose.Schema({
tags: [{
    type: String
}]

しかし、ここでの問題は、Postmanが'array'を文字列として送信していることに起因している可能性が高いです。の型をチェックすることでこれを確認することができます。 req.body.tags のようにします。

console.log(typeof req.body.tags)

これがStringを返す場合、Postmanのcontent-typeをJSONに設定することを確認してください。 これ スクリーンショットは、デフォルトの 'form-data' オプションではありません。