Я сделал 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})
}
});
}
Затем я отправляю свой запрос почтальону следующим образом:
но результат в моем документе:

вот в чем проблема, значение 'telepon' находится в той же строке и разделено запятой вместо того, чтобы вставить новую строку и создать новый _id
я хочу, чтобы результат моей коллекции был таким:
(пример)
Любая помощь и предложение будут высоко оценены
Спасибо!





1) За вызов .save вы будете влиять только на один документ, проверьте insertMany, чтобы сделать несколько.
2) req.body.telepon либо массив чисел, либо уже просто список чисел, разделенных запятыми; если это массив, .toString в любом случае приведет к списку с разделителями-запятыми. Поэтому, когда вы new поднимаете Telepon, у него есть оба значения в одном свойстве, что вы и видите в результате.
Обычно я делаю контроллер, использую экспресс-маршрутизатор и экспортирую его. если вы это сделаете, вы можете использовать вставитьмного(). Возможно, вы сможете настроить его так, как у вас есть, но я никогда не устанавливал его таким образом.