对于可重用的系统,我需要实现一个连接到mongoDB系统的连接器,并将未知类型插入到集合中(稍后将其提取)。数据以Json字符串形式提供,我想添加元信息字段并将文档存储在MongoDB中。我知道,文档在运行时会有所不同,但不会太多(不过,我之前并不知道它们的定义)。
我首先想到的是
public class DataWrapper
{
public DateTime Timestamp { get; set; }
public string InternalComment { get; set; }
public object RAW { get; set; }
}
然后将json反序列化为dynamic或Newtonsoft.json.linq.JObject,将结果分配给DataWrapper的RAW属性。 MongoDB的集合被强制转换为DataWrapper类型。
我敢肯定,我不是第一个考虑此要求的人,但是到目前为止,还没有找到关于此要求的最佳实践。
是否有关于此要求的最佳实践或我现在正在使用该方法遇到的已知缺陷的文档?