【发布时间】:2017-07-27 20:38:35
【问题描述】:
出于某种原因,我的 Mongo DB 只是创建了一个属于文档的 ID,而不是其他属性。
我有一个 Spring @Repository:
@Repository
public class BeerRepository {
public void createBeer(final BeerDTO beerDTO) {
Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("beers");
DBCollection beerCollection = db.getCollection(BeerDTO.COLLECTION_NAME);
beerCollection.insert(beerDTO);
// System.err.println(beerCollection.findOne());
}
}
还有一个简单的 POJO,仅此而已:
@Document
public class BeerDTO extends BasicDBObject {
private static final long serialVersionUID = 1235041607375829595L;
public static final String COLLECTION_NAME = "Beers";
@Field("id")
private String id;
@Field("name")
private String name;
@Field("abv")
private int abv; //alcohol by volume
public BeerDTO(String id, String name, int abv) {
this.id = id;
this.name = name;
this.abv = abv;
}
}
然而,这是 Mongo 得到的唯一东西:
非常感谢!
【问题讨论】:
-
也许这对您来说很明显,但是您是否在插入之前为 beerDTO 设置了所有字段?那些字段不为空?
-
感谢您的评论,但事实上,这是我检查的第一件事。 DTO 包含数据。
标签: java mongodb document nosql