如何设置MongoDB自动为每个子文档分配ID?

时间:2015-09-08 17:33:38

标签: c# mongodb mongodb-query

public class SubClass {
    public bool isValid {
    get;
    set;
    }
}

public class MainClass {
    public List < SubClass > SubClasses {
    get;
    set;
    }
}

MainClass m = new MainClass() {
    Name = "Mohsen", SubClasses = new List < SubClass > (new SubClass[] {
    new SubClass() {
        IsValid = true
    }
    })
};
MongoMainClassCollection.Save < MainClass > (m);

问题是所有SubClass ID的默认值都为零 我希望MongoDB在保存MainClass时为任何SubClass分配一个唯一的ID。

有没有办法配置MongoDB来执行此操作?

1 个答案:

答案 0 :(得分:2)

MongoDB不会自动为您执行此操作。 MongoDB没有向子文档添加ID。最好的办法是在你的Subclass构造函数中添加一些东西来自动为你填充ID。

public class SubDocument {
    //if using objectId as ID
    public ObjectId Id = { get; set;}

    public SubDocument(){
        Id = ObjectId.GenerateNewId()
    }

}
相关问题