Я пытаюсь загрузить CSV в коллекцию mongodb, все поля загружаются, кроме одного, и я получаю эту ошибку, я думаю, это из-за двойного инвертирования "", которое вставляется само собой. Пожалуйста, проверьте ошибку ниже
error: Error [ValidationError]: Order validation failed: totalOrder: Cast to Array failed for value "[{"tradeCopies":10,"freeCopies":0,"institutionalCopies":0,"publicationCode":"TOI","publicationName":"Times Of India","editionName":"chennai City","productCode":"TCE1","subscriptionCopies":0},{"tradeCopies":25,"freeCopies":0,"institutionalCopies":0,"publicationCode":"ET","publicationName":"Econimic Times","editionName":"chennai City","productCode":"ECE1","subscriptionCopies":0},{"tradeCopies":10,"freeCopies":0,"institutionalCopies":0,"publicationCode":"ETW","publicationName":"Econimic Times Wealth","editionName":"chennai City","productCode":"ECEW1","subscriptionCopies":0}]" at path "totalOrder"
Ниже приведена логика c в nodejs, которую я использую для загрузки CSV. Я не публикую завершенный код, я вызываю insertToOrderCSV (), используя cron
function insertToOrderCSV() {
return new Promise(function (res, rej) {
try {
if (fs.existsSync(basepath, 'orders.csv')) {
let veninsertdata = []
console.log("The file exists.");
fs.createReadStream(path.join(basepath, 'orders.csv'))
.pipe(csv())
.on('data', (row) => {
console.log('orders crom import', row);
let orders = {};
orders.vendorId = row['vendorId'];
orders.dealerId = row['dealerId'];
orders.frequency = row['frequency'];
orders.totalOrder = row['totalOrder'];
veninsertdata.push(orders);
})
.on('end', () => {
console.log('CSV file successfully processed', veninsertdata);
Order.insertMany(veninsertdata)
.then(function (docs, err) {
console.log('success', docs);
console.log('err', err);
res({ 'docs': docs, 'err': err });
//response.json(docs);
})
.catch(function (err) {
// response.status(500).send(err);
res({ 'error': err });
//console.log('errerr',err);
});
});
totalOrder is Аргумент arrayObject ниже представляет собой пример заголовка totalOrder. Имя: totalOrder
значение в заголовке totalOrder равно
[{"tradeCopies":10,"freeCopies":0,"institutionalCopies":0,"publicationCode":"TOI","publicationName":"Times Of India","editionName":"chennai City","productCode":"TCE1","subscriptionCopies":0},{"tradeCopies":25,"freeCopies":0,"institutionalCopies":0,"publicationCode":"ET","publicationName":"Econimic Times","editionName":"chennai City","productCode":"ECE1","subscriptionCopies":0},{"tradeCopies":10,"freeCopies":0,"institutionalCopies":0,"publicationCode":"ETW","publicationName":"Econimic Times Wealth","editionName":"chennai City","productCode":"ECEW1","subscriptionCopies":0}]
. Все остальные заголовки вставляются, поскольку они имеют отдельные значения, но когда дело доходит до totalOrder, то в arrayObject внутри моей схемы goose. Как я могу справиться с этим ??