(转)C#开发Mongo笔记第二篇
-
本文转自www.cnblogs.com,作者为晨冬之雪
写到第二篇不得不说是我之前犯了一个小错误,其实实现子表存储也是很简单的事,先说我想实现什么样的效果吧。
{"_id":ObjectId("5459cdb9a5db140c84885304"),"chengjis":[{"Yuwen":56,"Shuxue":23}],"Name":"test1","Title":"title1","Chengji":{"Yuwen":56,"Shuxue":23}}
就是用户表里有个成绩字段,成绩字段是个子表。
其实实现这个功能也很简单,用面向对象的思想很好理解,子表就是user表的一个对象字段或者集合字段,所以我觉得用C#开发Mongo用面向对象的思想开发更合适一些。
public class User
根据需要定义成对象或者集合,在插入这个对象的时候相应的字段赋值就可以了,是不是很符合面向对象的思想?
{
public ObjectId Id { get; set; }
public string Name { get; set; }
public string Title { get; set; }
public Chengji Chengji { get; set; }
public List<Chengji> chengjis=new List<Chengji>();
}Chengji chengji = new Chengji(){Yuwen = 56,Shuxue = 23};
User employee = new User();
employee.Name = "test1";
employee.Title = "title1";
employee.Chengji =chengji;
employee.chengjis.Add(chengji);
// 把它写到上面那个集合里面去
collection.Insert(employee);我当初还想着让User类继承BsonDocument呢,没想到驱动早就给我们设计好,操作实体对象就好了。
让codefrist飞一会吧。