java - 如何在 MongoDB 中将字符串转换为对象?
问题描述
在我的 Mongo 数据库中,我有一个带有“类别”字段的“书籍”集合。过去,“类别”是在 Mongo 中映射为字符串的枚举,但现在我需要“类别”作为我的“书籍”集合中的一个对象。我能做些什么?是否有可以执行一次转换所有文档的查询?
例如,今天的类别是这样的:
"category" : "Sci-Fi and Fantasy"
但我需要转换为:
"category" : {
"_id" : ObjectId("3f07bc56po324021df23a8f1"),
"code" : NumberLong(1),
"name" : "Sci-Fi and Fantasy"
}
解决方案
MongoDB 不是 SQL,您可以在 mongo 集合中同时拥有这两种记录,尽管在读取记录时您可能需要构建一些逻辑来创建相同的实体。如果您基于该特定属性进行搜索,这可能会导致问题。
您可以创建一个具有不同名称的新属性,同时保留类别,然后将新属性添加到所有记录中。
推荐阅读
- excel - 删除前导字符的公式
- c# - 如何在不调用 IsCancellationRequested 或 ThrowIfCancellationRequested 的情况下取消任务并引发异常
- r - 如何自定义闪亮的绘图函数以根据从调用函数接收的参数输出不同的绘图
- python - 替换类的列表元素
- ios - 反应原生 iOS 网络请求失败 - 代理设置问题
- veins - 我如何定义两辆车在血管中越来越远?
- vba - 在 DoCmd.TransferDatabase 中使用连接字符串变量
- r - 如何在 R 中通过加权平均栅格化点数据?
- rest - Informatica BDM - 如何重试“REST Web 服务使用者”?
- javascript - 如何将逻辑语句引入 XML 视图或如何更改某些 Table 项目的展示方式