处理MongoDB模式更改
如何处理生产中的模式更改 比如说,我在修改我的C#项目中的一些类,添加了一个复杂的属性,它由一个字典(Key(UInt16),Value(UInt16))组成,而Value有一个默认值,一个整数。如何将其添加到生产中的当前MongoDB实例中 C#示例: 我将此词典添加到现有类中(这显然反映在MongoDB的集合中):处理MongoDB模式更改,mongodb,mongodb-.net-driver,mongodb-query,Mongodb,Mongodb .net Driver,Mongodb Query,如何处理生产中的模式更改 比如说,我在修改我的C#项目中的一些类,添加了一个复杂的属性,它由一个字典(Key(UInt16),Value(UInt16))组成,而Value有一个默认值,一个整数。如何将其添加到生产中的当前MongoDB实例中 C#示例: 我将此词典添加到现有类中(这显然反映在MongoDB的集合中): public Dictionary SomeSettings=new Dictionary() { {SomeEnum.BGColor,“#FFFFFF”},//白色 {Some
public Dictionary SomeSettings=new Dictionary()
{
{SomeEnum.BGColor,“#FFFFFF”},//白色
{SomeEnum.QRColor,“#000000”},//黑色
{SomeEnum.LogoSize,(UInt16)100},//白色
{SomeEnum.MemberDetailsColor,#000000},//黑色
{SomeEnum.BottomTextColor,“#000000”},//黑色
{SomeEnum.ShowDecreaseButton,true}
};
SomeEnum是UInt16类型的枚举,
整个字典是一个全新的字段,我想用这些默认值添加到现有的集合中。你会怎么做
谢谢 这似乎是一个一次性操作,因此您可以通过mongodb shell来完成。 登录到您的mongodb服务器(或者RP主机,如果您使用的是ReplicaSet) update命令将每个文档的_your_brand_new_field_uuu字段设置为_default_dict_u({}查询匹配所有内容)。
希望这是您需要知道的。这似乎是一个一次性操作,因此您可以通过mongodb shell来完成。 登录到您的mongodb服务器(或者RP主机,如果您使用的是ReplicaSet) update命令将每个文档的_your_brand_new_field_uuu字段设置为_default_dict_u({}查询匹配所有内容)。
希望这是您需要知道的。嗨,假设我已经有一个字段和一本字典。字典的值是一个包含名为“test”字段的对象。如何仅删除此字段?嗨,假设我已经有一个带字典的字段。字典的值是一个包含名为“test”字段的对象。如何仅删除此字段?
public Dictionary<SomeEnum, object> SomeSettings = new Dictionary<SomeEnum, object>()
{
{ SomeEnum.BGColor, "#FFFFFF" }, //White
{ SomeEnum.QRColor, "#000000" }, //Black
{ SomeEnum.LogoSize, (UInt16)100 }, //White
{ SomeEnum.MemberDetailsColor, "#000000" }, //Black
{ SomeEnum.BottomTextColor, "#000000" }, //Black
{ SomeEnum.ShowDecreaseButton, true }
};
use your_db
default_dict = {
uint16_key_a : uint16_value a,
uint16_key_b : uint16_value b,
...
}
db.you_collection.update({},{ "$set" : { "your_brand_new_field" :default_dict} },false,true)