nodejs如何将对象写入jsonfile和neo4j数据库

时间:2018-03-22 18:09:40

标签: node.js express neo4j

我无法将我的JavaScript对象写入Jsonfile,同时更新远程neo4j数据库。 另外,每个功能都可以工作,但不能一起工作。 函数是cypher.createAsset(asset),用于向neo4j数据库发送查询, 和jsonWriter.addAsset(asset)用于写入jsonfile,两者都在单独的模块中 这是我的帖子路线,获取称为“资产”的表单数据 路由/ postpage.js

router.post('/postpage', function (req, res, next) {
    var asset = req.body;
    cypher.createAsset(asset)
    jsonWriter.addAsset(asset)
});

这是写入jsonfile的模块 /jsonWriter.js

jsonWriter.addAsset = function(asset){
    var id = asset.projectId
    for(i=0; i< jsonFile.projects.length; i++){
        if(jsonFile.projects[i].id == id){
            jsonFile.projects[i].assets.push(asset);
            jsonFile.projects[i].assetTotal += 1;
        } 
    }
    fs.writeFileSync( 'app/data/data.json', JSON.stringify(jsonFile), 'utf8', function (err) {
        console.error(err)
    })
}

这是向neo4j数据库发送查询的模块 /cypherMod.js

cypher.createAsset = function(asset){
    var session = driver.session();
    session
    .run(`CREATE (n:ASSET{
                id:'${asset.id}',
                name:'${asset.name}',
                coordLat :'${asset.coordLat}',
                coordLng :'${asset.coordLng}',
                projectId :'${asset.projectId}'
                }) 
            RETURN n`)
    .then(function(result) {
        result.records.forEach(function(record) {
            console.log(record)
        });
        session.close();
    })
    .catch(function(error) {
        console.log(error);
    });
}

0 个答案:

没有答案