时间:2021-07-01 10:21:17 帮助过:20人阅读
2、删除了某个属性
1 var allDocuments = collectionToUpdate .FindAll();foreach(var document in allDocuments ){var oldFieldValue = document ["OldFieldName"];if(!document.Contains("NewFieldName")) document.Add("NewFieldName", oldFieldValue); document.Remove("OldFieldName"); collectionToUpdate.Save(document);} 2 3 3、使用newtonsoft.json转换为json 4 5 class ObjectId Converter:JsonConverter{publicoverridevoidWriteJson(JsonWriter writer,object value,JsonSerializer serializer){ serializer.Serialize(writer, value.ToString());}publicoverrideobjectReadJson(JsonReader reader,Type objectType,object existingValue,JsonSerializer serializer){thrownewNotImplementedException();}publicoverride bool CanConvert(Type objectType){returntypeof(ObjectId).IsAssignableFrom(objectType);//return true;}} 6 7 public class ObjectIdConverter : TypeConverter 8 9 { 10 11 public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) 12 13 { 14 15 if (sourceType == typeof(string)) 16 17 { 18 19 return true; 20 21 } 22 23 return base.CanConvertFrom(context, sourceType); 24 25 } 26 27 public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) 28 29 { 30 31 if (value is string) 32 33 return ObjectId.Parse((string)value); 34 35 return base.ConvertFrom(context, culture, value); 36 37 } 38 39 // Overrides the ConvertTo method of TypeConverter. 40 41 public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) 42 43 { 44 45 if (destinationType == typeof(string)) 46 47 { 48 49 return ((ObjectId)value).ToString(); 50 51 } 52 53 return base.ConvertTo(context, culture, value, destinationType); 54 55 } 56 57 } 58View Code
使用:[TypeConverter(typeof(ObjectIdConverter))]
4、实体中排除某些字段,不写入到集合中
publicclassMyClass{ [BsonIgnore]publicstringSomeProperty{get;set;}}
或者使用初始化代码的形式,设置映射关系
BsonClassMap.RegisterClassMap<MyClass>(cm=>{cm.AutoMap();cm.UnmapProperty(c=>c.SomeProperty);});
5、在连接参数中设置用户名和密码
http://docs.mongodb.org/ecosystem/tutorial/authenticate-with-csharp-driver/
6、mongodb中时间为当前小时数 减 8
分 析:存储在mongodb中的时间是标准时间UTC +0:00 而咱们中国的失去是+8.00 。
解决方法:在datetime属性上增加特性
[BsonDateTimeOptions(Kind = DateTimeKind.Local)]
public DateTime Birth{get;set;}
MangoDB在C#中的使用
标签:设置 http 特性 官方文档 ISE soft tls with blog