[英]How to apply filter on Array object in MongoDb table using Mongodb.Driver in C#?
[英]how to store stringify json data into mongodb using C# MongoDB.Driver
我正在以 stigify json 格式获取数据
"[{\"ApplytoAllYesNo\":\"\",\"PartNumber\":\"\",\"Description\":\"\",\"LotNumber\":\"\",\"Revision\":\"\",\"Comment\":\"\",\"QualStatus\":\"\",\"Upload\":\"\",\"buildID\":\"62161d4fee3776fba3d8b83e\"},{\"ApplytoAllYesNo\":\"\",\"PartNumber\":\"\",\"Description\":\"\",\"LotNumber\":\"\",\"Revision\":\"\",\"Comment\":\"\",\"QualStatus\":\"\",\"Upload\":\"\",\"buildID\":\"62161d4fee3776fba3d8b83e\"},{\"ApplytoAllYesNo\":\"\",\"PartNumber\":\"\",\"Description\":\"\",\"LotNumber\":\"\",\"Revision\":\"\",\"Comment\":\"\",\"QualStatus\":\"\",\"Upload\":\"\",\"buildID\":\"62161d4fee3776fba3d8b83e\"},{\"ApplytoAllYesNo\":\"\",\"PartNumber\":\"\",\"Description\":\"\",\"LotNumber\":\"\",\"Revision\":\"\",\"Comment\":\"\",\"QualStatus\":\"\",\"Upload\":\"\",\"buildID\":\"62161d4fee3776fba3d8b83e\"},{\"ApplytoAllYesNo\":\"\",\"PartNumber\":\"\",\"Description\":\"\",\"LotNumber\":\"\",\"Revision\":\"\",\"Comment\":\"\",\"QualStatus\":\"\",\"Upload\":\"\",\"buildID\":\"62161d4fee3776fba3d8b83e\"}]"
每次这些数据都会发生变化,这就是为什么我无法使用固定的 model 听到的原因,因为我的 object 不会有固定的列数,并且每个请求中的列数都会发生变化,这些列是在前端创建的。
我只想将 json 触发数据插入 mongoDB 中,无论它来自 object。
[HttpPost("saveBuildData")]
public async void saveBuildData(BuildSchema data)
{
await _buildsService.insertBuildConfigData(data.buildData);
}
public async Task insertBuildConfigData(dynamic obj)
{
var connectionString = _configuration["DatabaseSettings:ConnectionString"];
var client = new MongoClient(connectionString);
var database = client.GetDatabase("cascade");
var collection = database.GetCollection<BsonDocument>("buildconfig_MATERIAL");
var q = BsonSerializer.Deserialize<BsonDocument>(obj);
await collection.InsertOneAsync(q);
}
上面的代码不起作用,我无法将数据插入 mongoDB。
这可能有助于寻找解决此问题的方法的人。 当我更改collection.InsertOne(q)
而不是await collection.InsertOneAsync(q);
时,它对我有用
我并不是说这是最好的解决方案,但它适用于我的情况,我只对使用 c# 将 json 文件上传到 Mongodb 集合感兴趣。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.