gpt4 book ai didi

mongodb - 是否可以向 MongoDB 写入可区分的联合?

转载 作者:可可西里 更新时间:2023-11-01 10:41:04 26 4
gpt4 key购买 nike

运行以下代码:

type Test = 
| L of int
| M of string
| N of bool

let client = new MongoClient("mongodb://localhost:27017")
let _db = client.GetDatabase("TestDB")
let collection = _db.GetCollection<Test>("TestLog")

collection.InsertOne(L 22)

我将以下内容插入到我的收藏中:

_id: ObjectID('58d054f79a91e00c8379ab82')
_t: "L"

所以看起来 Mongo 的 .NET 驱动程序不知道如何处理受歧视的联合。我在那里看到了一些库,但它们很旧,我想先检查框架中是否没有内置任何内容。我尝试的另一件事是像这样使用 Newtonsoft 的 JSON 序列化程序:

let Json = JsonConvert.SerializeObject(L 22)
let doc = BsonSerializer.Deserialize<BsonDocument>(Json)

这将所有内容都存入数据库,但它们都以字符串类型存在,而不是它们应有的类型(在本例中为 int)。

最佳答案

NamelessInteractive.FSharp序列化库非常有效地处理这个问题。它非常适合(并保留类型)有区别的联合、记录类型、嵌入在记录类型中的有区别的联合等。

关于mongodb - 是否可以向 MongoDB 写入可区分的联合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42915080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com