我正在尝试编写一个通用的Web Api控制器,它允许我将JSON文档保存到集合中而不指定C#类型.我试图将代码压缩到基本要素:
public class PassThroughController : ApiController
{
[Route("api/mongodb/{collection}")]
public void Post(string collection, dynamic document)
{
const string connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
var db = client.GetServer().GetDatabase("SampleDb");
var mongoCollection = db.GetCollection(collection);
mongoCollection.Save(document,
new MongoInsertOptions
{
WriteConcern = WriteConcern.Acknowledged
});
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试发布一个简单的文档:
{ id: "2112", name: "Rush" }
Run Code Online (Sandbox Code Playgroud)
但无论我发送给方法的是什么,我都会收到与此类似的错误:"保存只能用于具有Id的文档."
我们尝试了Id(Id,id,_id)的许多不同属性,但它们都会导致类似的问题.
有任何想法吗?
谢谢