我无法将我的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);
});
}