spring数据mongodb"id"字段映射
spring data mongodb "id" field mapping
我有一个包含数组字段的文档
"chapters": [
{ "id" : "14031871223912313", ...}
...
]
我想用 Spring 数据的 MongoTemplate 查询 return ID,使用以下方法:
class Chapter {
private String id;
public String getId() {
return id;
}
}
这样就不会填充 id。我尝试使用不同的映射选项和此处描述的@Field http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mapping.conventions.id-field
我做错了什么?我知道我总是可以回到 mongo java 驱动程序,但我认为这应该有效。
在此先感谢您的帮助。
在 MongoDB 中的 ID 是 _id
,而在 mongo 中的每个文档都有一个 _id
。从您链接到的文档中,Spring 会将 @Field String id
映射到 mongo 的 _id
字段。您可能想要使用 @Field('id') String id
字段映射来指示您想要的字段是 id
而不是 _id
.
找到解决办法。它通过以下方式填充:
@Field("id")
private String chaperId
我有一个包含数组字段的文档
"chapters": [
{ "id" : "14031871223912313", ...}
...
]
我想用 Spring 数据的 MongoTemplate 查询 return ID,使用以下方法:
class Chapter {
private String id;
public String getId() {
return id;
}
}
这样就不会填充 id。我尝试使用不同的映射选项和此处描述的@Field http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mapping.conventions.id-field
我做错了什么?我知道我总是可以回到 mongo java 驱动程序,但我认为这应该有效。
在此先感谢您的帮助。
在 MongoDB 中的 ID 是 _id
,而在 mongo 中的每个文档都有一个 _id
。从您链接到的文档中,Spring 会将 @Field String id
映射到 mongo 的 _id
字段。您可能想要使用 @Field('id') String id
字段映射来指示您想要的字段是 id
而不是 _id
.
找到解决办法。它通过以下方式填充:
@Field("id")
private String chaperId