1 回答
TA贡献2036条经验 获得超8个赞
在队友的帮助下,这行得通。将您的模型序列化BsonDocument并传递BsonDocument给 MongoDB C# 驱动程序插入方法。通过这种方式,您可以使用您的 C# POCO 对象,直到您想要将其持久化到 MongoDB,然后您将其序列化为BsonDocument数组或BsonDocument保存它。因为这个复杂的模型BsonDocument[]解决了我的问题
用这个形状和结构保存一个复杂的json模型,比下面这个形状和结构复杂到MongoDB
//Complex json collection/array shape and structure to save as is in MongoDB
[
{
"property_1": "value_1",
"property_2": "value_2",
"property_3": {
"_some_property_1": 1,
"_some_property_2": "some_value_2",
"some_property_3": "some_value_3",
"some_property_4": "some_value_4"
},
"property_4": "value_4",
"property_5": "value_5",
"iproperty_6": "Nvalue_6",
"property_7": "value_7",
"property_8": "value_8",
"property_9": "value_9"
}
]
// This works - code snippets
/*Create a collection of C# POCO from for the json.
// My assumption is you can create C# objects/collections from complex json shape and structure
// Serialize to MongoDB BsonDocument and save*/
var models = new List<Model>{ new Model()}; // Create C# collection from json
string text = JsonConvert.SerializeObject(models);
var bsonDocument = BsonSerializer.Deserialize<BsonDocument[]>(text);
var client = new MongoClient("mongodb://localhost:27017/admin");
var database = client.GetDatabase("TestDB");
IMongoCollection<BsonDocument> collection = database?.GetCollection<BsonDocument>("TestCollection");
collection.InsertMany(bsonDocument);
- 1 回答
- 0 关注
- 359 浏览
添加回答
举报
