2
我正在测试Azure DocumentDb以决定是否应将数据库从MongoDB更改为doucmentDb。Azure DocumentDb - 查询空间数据
我们与MongoDB中10.000+位置,其中位置被保存为GeoJSON的数据库。所以移动我们的数据没有问题,但我如何使用.NET SDK中的linq提供程序查询我的数据?
我们有我们自己的实现,我们用我们的MongoDB使用GeoJSON的,所以我们没有兴趣在改变我们的数据模型依赖于.NET SDK提供的空间类。
有查询DocumentDb时使用LINQ提供自定义的空间类的方法吗?
你有没有使用考虑node.js或它的.NET集成,edge.js?它更贴近您的MongoDB心智模型。在这种情况下,您将使用DocumentDB SDK作为node.js。没有Linq,但我创建了(sql-from-mongo)[https://www.npmjs.com/package/sql-from-mongo] npm包,以允许我对DocumentDB使用MongoDB查询语法。这可能更适合您的MongoDB背景。恕我直言,过度依赖C#,Java等面向对象与NoSQL(甚至是Microsoft的NoSQL,DocumentDB)的阻抗不匹配,服务器端JavaScript是一个完美契合。 –
你能否提供你的班级定义? DocumentDB SDK中的包装类完全符合GeoJSON标准,并且只是为了方便序列化/反序列化 - 您应该能够使用与MongoDB相同的GeoJSON,而无需进行更改。 –
我们已经创建了我们自己的GeoJSON类,我们在我们的类中使用了这些类,并且我们能够将它们保存到DocumentDb中而没有任何问题。问题是当我们试图用linq查询它们时,我们无法使用空间linq查询,因为我们的模型使用我们自己的GeoJSON类。 – eNepper