我正在编写一个代码,我需要先将数据推送到mongo中,并在成功插入数据后将其推送到neo4j中。 mongo帧中的数据无法推入Neo4j。它将引发以下错误:
B
除非它是mongo对象的默认属性,否则我没有在数据中添加函数作为值。
我正在用NodeJS编写代码,并且对Nodejs使用猫鼬和Neo4j驱动程序。
我尝试使用下面提到的测试数据。测试数据的主要值与mongo插入的对象相同,并且工作正常。但是,当数据是真正的mongo插入结果时,它将不起作用。
{ Neo4jError: Cannot pack this value: function() {
var numArgs = arguments.length,
states = utils.args(arguments, 0, numArgs - 1),
callback = arguments[numArgs - 1];
if (!states.length) states = this.stateNames;
var _this = this;
var paths = states.reduce(function(paths, state) {
return paths.concat(Object.keys(_this.states[state]));
}, []);
return paths[iterMethod](function(path, i, paths) {
return callback(path, i, paths);
});
}
我在下面的代码中将文档插入mongo中,并将结果提供给负责将该数据推入Neo的函数。
{
"ruid": "123kl2",
"puid": "lkajsdlk2",
"chiefComplaint": "a chief complaint",
"diagnosis": "a diagnosis",
"subRecords": [],
"creationDate": [],
"refForm": "someone"
}
在neo函数中,recordPush函数如下:
var newRecord = new Record();
newRecord.chiefComplaint = req.body.data;
newRecord.puid = numberFromBefore;
newRecord.save((err, monDoc) => {
if (err) throw err;
neo.recordPush(monDoc, (error, neoRes)=>{
if (error) throw error;
else{
res.status(200).send({
ret: true,
id: monDoc._id
});
}
});
});
答案 0 :(得分:0)
您可以尝试通过Neo4j Doc Manager https://neo4j.com/developer/mongodb/将mongo对象插入Neo4j,也可以使用APOC库与MongoDB https://neo4j.com/docs/labs/apoc/current/database-integration/mongodb/
进行交互