小编Tur*_*urp的帖子

MongoDB C# - 如何将任意JSON文档保存为动态类型?

我正在尝试编写一个通用的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)的许多不同属性,但它们都会导致类似的问题.

有任何想法吗?

谢谢

mongodb-.net-driver

8
推荐指数
2
解决办法
8546
查看次数

标签 统计

mongodb-.net-driver ×1