Database design 如何优化;“用户跟踪”-在NoSQL数据库(如RavenDB)中键入数据?

Database design 如何优化;“用户跟踪”-在NoSQL数据库(如RavenDB)中键入数据?,database-design,nosql,ravendb,Database Design,Nosql,Ravendb,我现在存储了一个成员对象。我的服务使用Foursquare场馆API显示会员附近的地方。我想开始追踪他们去过的地方 我可以向成员添加一个属性,如: Member { public List<Place> PlacesVisited {get;set;} } VisitedPlace { public Member Member {get;set;} public Place Place {get;set;} public DateTime WhenV

我现在存储了一个成员对象。我的服务使用Foursquare场馆API显示会员附近的地方。我想开始追踪他们去过的地方

我可以向成员添加一个属性,如:

Member {
    public List<Place> PlacesVisited {get;set;}
}
VisitedPlace {
    public Member Member {get;set;}
    public Place Place {get;set;}
    public DateTime WhenVisited {get;set;}
    ...
}
这并不能阻止我复制数据,但这确实意味着我不会在不需要的时候提取该成员访问过的所有地方

而且,在未来,我可能会跟踪更多的地方访问。。。有更好的方式/模式吗?我对NoSQL比较陌生,这是我第一个使用RavenDB的项目。提前谢谢

乍得, 你有什么理由不能这样做:

Member {
    public List<string> PlacesVisited {get;set;}
}
成员{
公共列表位置访问{get;set;}
}

拿着他去过的地方的证件?

你知道。。。我想那很好。甚至可以制作类似于
PlacesVisited{public string PlaceId{get;set}public string PlaceName{get;set;}public DateTime datevisted{get;set;}
的东西,并将其放在成员上,就像这样:
成员{public List VisitedPlaces{get;set;}
注意:我希望我们能在注释中更好地显示代码…;)