Javascript 从python获取2d数组并使用node.js将其插入MongoDB

Javascript 从python获取2d数组并使用node.js将其插入MongoDB,javascript,node.js,python-3.x,mongodb,multidimensional-array,Javascript,Node.js,Python 3.x,Mongodb,Multidimensional Array,我想使用Node.js在mongoDB中的集合中插入数据。我想插入的数据来自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 myPythonScr

我想使用Node.js在mongoDB中的集合中插入数据。我想插入的数据来自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

{编号:1,2,3,4}//第一行
{number:4,3,2,1}//第二行

您可以使用
JSON.parse(dbvalues)
。您从python子进程接收的数据是字符串,那么最好使用JSON.parse,它将字符串转换为有效的数组格式。非常感谢@CuongLeNgoc您真的救了我一天。解析之后,我能够在对象数组中转换它,并将其插入数据库。再次感谢你
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);
});