gpt4 book ai didi

ruby - 我如何处理从 mongo 返回的任意哈希值(使用 mgo)?

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:40 25 4
gpt4 key购买 nike

我能找到的所有引用都构建了一个结构来保存返回值,假设每个返回的记录都具有相同的模式。如果它们真的是文档并且除了一些可查询的一致元数据属性之外没有一致的模式,我该如何处理该返回值?

例如:这个https://groups.google.com/forum/#!msg/mgo-users/KirqfCSlKFc/t2l3l4yxFRwJ假设您有一组时间戳。如果它是一个数组,其中一些值是时间戳,一些是字符串怎么办?

在 ruby​​ 中,我只是将整个返回的记录视为任意哈希并逐个键地处理它。我可以用它做什么?

最佳答案

您可以使用通用 map ,例如:

var result map[string]interface{}
err := collection.Find(query).One(&result)

您会发现人们使用 bson.M,它也是具有相同底层类型的 map 。不过,bson.M 没有什么特别之处。它只是 map 的一个简短而方便的名称。您可以创建自己方便的名称,或使用上面示例中的普通 map 。

另一种在没有定义模式的情况下访问文档的方法是使用 bson.D 代替上面的 map 类型。 bson.D 在文档中元素的顺序相关时最有用,或者如果你想稍微减少操作开销( map 由于其性质而处理起来有点昂贵)。 bson.D 类型是带有键/值对的结构值 slice 。与 bson.M 不同,bson.D 比较特殊,由 mgo/bson 包在内部处理。

关于ruby - 我如何处理从 mongo 返回的任意哈希值(使用 mgo)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21187057/

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