Вставьте несколько документов с мангуст - PullRequest
0 голосов
/ 23 февраля 2019

Я создал API с помощью express.js и использую mongoDB для своей базы данных и mongoose в качестве своего ODM

Я действительно запутался, когда хочу вставить несколько документов в свою коллекцию за один раз после запроса.

Вот моя модель:

const modul = require('../config/require');
const Schema = modul.mongoose.Schema;

let TeleponSchema = new Schema({
    _pelanggan : {type: String},
    telepon: {type: String, required: true}
});

module.exports = modul.mongoose.model('telepon', TeleponSchema, 'telepon');

и вот мой контроллер

const Telepon = require('../models/telepon.model')

exports.create = (req,res) => {
    let telepon = new Telepon({
        _pelanggan : req.body.pel,
        telepon: req.body.telepon
    });

    telepon.save((err,data) => {
        if(err){
            res.send({message:'eror', detail: err});
        }else{
            res.send({message:'success', data: data})
        }
    });

}

Затем я отправляю свой запрос почтальону так:

enter image description here

но результат в моем документе: enter image description here

в этом проблема, значение «telepon» в том жестрока и разделенные запятой вместо вставки новой строки и создания нового _id

я хочу, чтобы результат моей коллекции был таким:

(пример)

enter image description here

Любая помощь и предложение будет высоко ценится

Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2019

1) За .save вызов вы затронете только один документ, отметьте insertMany, чтобы сделать несколько.

2) req.body.telepon - это либо массив чисел, либо уже запятаяразделенный список чисел;если это массив, .toString в любом случае приведет к разделению запятыми.Таким образом, когда вы new используете Telepon, оба значения в одном свойстве, и это то, что вы видите в результате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...