我准备开始一个项目,建立一个餐厅推荐引擎。我一直在犹豫要用Neo4j(图数据库)还是MongoDB(文档数据库)。我的节点/文档将是像餐厅和人这样的东西。我知道我会想要一些边缘关系,比如人->喜欢->餐厅,或者人->在餐厅吃过->餐厅。然而,我的主要查询将是查找距离位置Y X 英里以内的餐厅。
如果我有20家餐厅在距离Y X 英里范围内,但它们之间没有任何边缘关系,Neo4j如何处理空间查询呢?我知道在MongoDB中,我可以对纬度/经度进行索引,并查询所有类型的餐厅。在一个断开的图形中,Neo4j是否提供相同的功能?
对于像“我的朋友最常去哪些餐馆?”这样的问题,Neo4j(图数据库)是最佳选择吗?还是MongoDB(文档数据库)也能提供类似的功能?