如何将mongo对象推入Neo4j

时间:2019-07-19 07:10:06

标签: node.js mongodb neo4j

我正在编写一个代码,我需要先将数据推送到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
           });
       }
   });

 });

1 个答案:

答案 0 :(得分:0)

您可以尝试通过Neo4j Doc Manager https://neo4j.com/developer/mongodb/将mongo对象插入Neo4j,也可以使用APOC库与MongoDB https://neo4j.com/docs/labs/apoc/current/database-integration/mongodb/

进行交互