java - BSON 字段名称无效:尝试在 MongoDB 中插入 HashMap 时
问题描述
这一行:
instance.getRubricDocumentMap().put(new Rubric(), new ArrayList<NewsletterDocument>());
导致此错误:
com.oxway.store.api.exceptions.StoreException: java.lang.IllegalArgumentException: Invalid BSON field name com.oxway.report.models.Rubric@188993df
at com.oxway.store.mongodb.MongoDBStoreDao.create(MongoDBStoreDao.java:122)
当我试图instance
在 MongoDB 中插入对象时。
这是实例类:
@Identity(name = "identity", type = String.class)
public class NewsletterInstance extends Definition {
protected NewsletterStatus status;
protected String newsletterDefinitionId;
protected String subtitle;
protected Map<Rubric, List<NewsletterDocument>> rubricDocumentMap;
public Map<Rubric, List<NewsletterDocument>> getRubricDocumentMap() {
return rubricDocumentMap;
}
public String getSubtitle() {
return subtitle;
}
public void setSubtitle(String subtitle) {
this.subtitle = subtitle;
}
public void setRubricDocumentMap(Map<Rubric, List<NewsletterDocument>> rubricDocumentMap) {
this.rubricDocumentMap = rubricDocumentMap;
}
public String getNewsletterDefinitionId() {
return newsletterDefinitionId;
}
public void setNewsletterDefinitionId(String newsletterDefinitionId) {
this.newsletterDefinitionId = newsletterDefinitionId;
}
public NewsletterStatus getStatus() {
return status;
}
public void setStatus(NewsletterStatus status) {
this.status = status;
}
public NewsletterInstance() {
}
}
这里是量规类:
public class Rubric {
protected String id;
protected String title;
protected String description;
public Rubric() {
id = UUID.randomUUID().toString();
};
public Rubric(String title, List<NewsletterDocument> documents) {
super();
this.title = title;
id = UUID.randomUUID().toString();
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
知道这里有什么问题以及为什么我不能在 MongoDB 中插入这个对象吗?这是我第一次使用 HashMap,所以也许有一些我不知道的东西。
谢谢
解决方案
推荐阅读
- javascript - 使用带有秘密的 github 操作对应用程序构建/部署进行反应
- python - 从文本文件中读取 url 后,如何将所有响应保存到单独的文件中?
- angular - Angular 10 值在自动完成中为空
- mysql - 将 mysqlimport 与文件列的子集一起使用
- vba - VBA 问题 - 尝试连接和循环
- javascript - 从字符串动态实例化一个类
- android - AlarmManager 在指定的工作日时间设置每周警报在应用程序打开时重复
- python - Matplotlib 仅在堆积条形图上每 2 个条中绘制 1 个
- python-3.x - 如何测试在 flask/flask-restx 中获取解析器输入的 GET 方法?
- python - 如何从 Spotipy 解决此客户端 ID 错误?