Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理MongoDB模式更改_Mongodb_Mongodb .net Driver_Mongodb Query - Fatal编程技术网

处理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

如何处理生产中的模式更改

比如说,我在修改我的C#项目中的一些类,添加了一个复杂的属性,它由一个字典(Key(UInt16),Value(UInt16))组成,而Value有一个默认值,一个整数。如何将其添加到生产中的当前MongoDB实例中

C#示例: 我将此词典添加到现有类中(这显然反映在MongoDB的集合中):

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)