作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 Jongo
与 Play Framework 2
、java.lang.我在 MongoDB
中添加了一些数据。
{"_id" : ObjectId("538dafffbf6b562617252178"), ... }
但是,当我从数据库中获取 ObjectId
时,它给了我这样的信息:
de.undercouch.bson4jackson.types.ObjectId@484431ff
而不是 538dafffbf6b562617252178
。我不太明白如何获取 ObjectId
值。我的类定义如下:
public class Product {
@JsonProperty("_id")
protected String id;
...
public Product() {
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
编辑
为了获取数据,我只需使用 Jongo
提供的 find()
函数,如下所示:
public static Iterable<Product> findAll(){
return products().find().as(Product.class);
}
最佳答案
用 @JsonProperty("_id") 注释的 id 字段仅意味着您的产品文档具有自定义 id(即由用户设置,例如:1234、5678,...)
您应该使用 @Id 和 @ObjectId 注释来注释 id 字段,以告诉 Jongo 将 id 字段作为由 MongoDB 管理的真实 ObjectId 来处理。
public class Product {
@org.jongo.marshall.jackson.oid.Id
@org.jongo.marshall.jackson.oid.ObjectId
protected String id;
...
public Product() {
}
}
在反序列化期间,ObjectId 的字符串表示形式将被设置到 Product 实例中
关于java - 如何从 MongoDB 获取 ObjectId 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055669/
我是一名优秀的程序员,十分优秀!