我最近开始使用Neo4J。要将现有数据从mongo加载到Neo4j,我开始使用使用Neo4J Doc Manager的mongo-connector
但我在这里找到的问题如下: 假设我在mongo中有2个文档:
Doc 1:{“title”:“Associate”,“_ id”:“title_1”,“technicalSkills”:[{“name”:“Accounting Associate”,“score”:0.5482839345932007,“_ id”:“skill_1 “}]}
Doc 2:{“title”:“Associate Level 2”,“_ id”:“title_2”,“technicalSkills”:[{“_ id”:“skill_1”,“name”:“Accounting Associate”,“score “:0.65},{”name“:”Lead Home Health Care Company“,”得分“:0.5077081322669983,”_ id“:”skill_2“}]}
当我们运行mongo-connector时,它将插入neo4j,两个标题节点,每个节点都有自己的技能节点。但是如果你看到,两个标题节点之间有一个共同的技能。我在这里的问题是:
是否有办法只有一个技能节点对两个文档都是通用的,然后将此节点连接到两个标题节点。
我们可以得分而不是关系吗? (在这种情况下,它会创建类似title_skill的关系。)
答案 0 :(得分:0)
您需要两个mongo-collections并使用交叉集合引用。例如skills
和associates
:
db.skills.insert({ "name": "Accounting Associate",
"_id": "skill_1"
});
db.skills.insert({ "name": "Lead Home Health Care Company",
"_id": "skill_2"
});
db.associates.insert({ "title":"Associate",
"_id":"title_1",
"technicalSkills":[{ "skills_id": "skill_1"
"score": 0.5482839345932007
}]
});
db.associates.insert({ "title":"Associate Level 2",
"_id":"title_2",
"technicalSkills":[{ "skills_id": "skill_1",
"score": 0.65},
{ "skills_id": "skill_2",
"score": 0.5077081322669983
}]
});