【问题标题】:How do I convert String to an Object in MongoDB?如何在 MongoDB 中将字符串转换为对象?
【发布时间】:2020-07-24 04:07:57
【问题描述】:

在我的 Mongo 数据库中,我有一个带有“类别”字段的“书籍”集合。过去,“类别”是在 Mongo 中映射为字符串的枚举,但现在我需要“类别”作为我的“书籍”集合中的一个对象。我能做些什么?是否有可以执行一次转换所有文档的查询?

例如,今天的分类是这样的:

"category" : "Sci-Fi and Fantasy"

但我需要转换成这个:

"category" : {
        "_id" : ObjectId("3f07bc56po324021df23a8f1"),
        "code" : NumberLong(1),
        "name" : "Sci-Fi and Fantasy"
    }

【问题讨论】:

  • 您是否有类别集合,您可以在其中获取其他字段来构建新对象?
  • 我有历史数据,其中“类别”是一个枚举。但从现在开始,这个字段将作为一个对象填充。这是业务规则的变化,我无处可从对象中获取字段来填充此历史数据

标签: java spring mongodb


【解决方案1】:

MongoDB 不是 SQL,您可以在 mongo 集合中同时拥有这两种记录,尽管在读取记录时您可能需要构建一些逻辑来创建相同的实体。如果您基于该特定属性进行搜索,这可能会导致问题。

您可以创建一个具有不同名称的新属性,同时保留类别,然后将新属性添加到所有记录中。

【讨论】:

    猜你喜欢
    • 2019-05-25
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-02-03
    • 2018-07-19
    • 1970-01-01
    • 2019-07-07
    相关资源
    最近更新 更多