java - 如何在 mongodb spring-data 中使用 DBRef 保存文档
问题描述
我有扩展 MongoRepository 的 Spring 数据存储库类。所以我正在做一个 POST 请求来创建一个记录,该记录包含几个引用字段来引用其他文档。
存储库接口:
@RepositoryRestResource(collectionResourceRel = "user",path = "user")
public interface UserRepository extends MongoRepository<User,String>{
}
模型类:
@Document(collection = "user")
public class User {
@Id
private String id;
private String email;
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
private Date createdTime;
@Field("infoSignups")
@DBRef
private InfoSignUp infoSignups;
@Field("webinarSignups")
@DBRef
private WebinarSignUp webinarSignups;
}
@Document(collection = "infoSignups")
public class InfoSignUp {
@Id
private String id;
private String email;
}
@Document(collection = "webinarSignups")
public class WebinarSignups {
@Id
private String id;
private String email;
}
POST 请求:
{
"email":"sheen.example@gmail.com",
"name":"test",
"infoSignups":[
{
"id":"5cbeb33199a4640b94ba1de8"
}
],
"webinarSignups":[
{
"id":"5cc0136599a4641d835d3259"
}
],
"businessName":"test data",
"phone":"test data",
"address":"test data",
"createdTime":"2015-09-26T01:30:00.000Z"
}
但是当我向存储库端点发出 POST 请求时,参考字段没有保存,其他字段保存在集合中。我是否必须在不使用 Spring 数据的情况下手动保存对象?如何使用对端点的 POST 请求保存对其他集合的引用?
解决方案
推荐阅读
- python - 如何跳过索引
- twitter-bootstrap - 使用带有 scss 颜色图的渐变 - 有可能吗?
- android - Onesignal 推送通知到特定类别
- perl - 如何四舍五入数组中的十个随机数?
- arrays - 如何使用实例变量在另一个变量中访问其对象并返回
- ios - 在模拟器中使用 SWRevealViewController 时导航延迟
- php - 如何搜索整个句子形式的mysql数据库?
- node.js - 如何从 Vue.js 组件连接到 socket.io?
- python - qtpropertyanimation 只改变比例
- javascript - 数据表未捕获类型错误:无法读取未定义的属性“mData”