我正在试验C# driver for MongoDB,但文档不是很好IMO。
我的文档结构类似于:
{
_id: 929384
person: {
name: 'Joe'
contact: {
phones: ["234", "567"],
emails: ["blah@blah.com"]
meta-data: .... // (I do not want this in my class)
address: ....etc
我认为有很多C#迷你类来反映BSON结构,所以像这样的类很好
public class Person
{
public string Id {get; set;}
public string Name {get; set;}
public string[] phones {get; set;}
etc...
}
换句话说,它只是更加平坦,没有太多不必要的领域。
我可以想到两种方法:
研究第一个选项我发现了很多关于map/reduce的内容,它似乎非常适合分组和聚合数据,但我没有找到看起来像SQL存储过程的东西 - 过滤/更改列等。
经过很长时间后,我发现第二种方式称为Deserialization。我试着查看文档,但IMO在解释时并没有做得最好。
我需要能够映射person.contact.phones -> Person.Phones
,我不知道为什么它应该如此复杂。
我不是在寻找任何人为我做这项工作,这只是一个人为的例子。我只是想知道两个选项中哪一个更正确(或者是第三个)以及如何做。