Я хочу вставить данные в коллекцию в mongoDB, используя Node.js. Данные, которые я хочу вставить, поступают из python в виде 2d-массива, подобного этому
[[1,2,3,4], [4,3,2,1]]
я хочу вставить эти данные в mongoDB следующим образом
{число: 1,2,3,4} // первая строка {число: 4,3,2,1} // вторая строка
var express = require('express');
var app = express();
var url = 'mongodb://localhost:27017';
var myPythonScript = "demo.py";
var pythonExecutable = "/usr/local/bin/python3.7";
var uint8arrayToString = function(data){
return String.fromCharCode.apply(null, data);
};
const spawn = require('child_process').spawn;
const scriptExecution = spawn(pythonExecutable, [myPythonScript]);
scriptExecution.stdout.on('data', (data) => {
var dbvalues = uint8arrayToString(data);
console.log(dbvalues);
mongo.connect(url ,{useNewUrlParser:true,useUnifiedTopology:true},function(err,db){
var db = db.db('Dradus');
var collection = db.collection('example');
var query = {"name" :dbvalues};
collection.insertOne(query, function(err, res) {
if (err) throw err;
console.log("1 document inserted");
});
});
});
scriptExecution.stderr.on('data', (data) => {
});
scriptExecution.on('exit', (code) => {
console.log("Process quit with code : " + code);
});
Этот код предоставляет мне вывод, подобный этому, но в строковом формате [[1,2,3,4], [4,3,2,1]]. Я хотел бы, чтобы он оставался в виде 2D-массива и вставлял его в MongoDB следующим образом
{number: 1,2,3,4} // первая строка {number: 4,3,2,1} // второй ряд