我正在使用 Spring 的 MongoTemplate 更新文档
这是更新文档的代码(为产品评论制作数组推送);
public void saveProductComment(String productId,ProductComment comment){
DBObject commentDBO = new BasicDBObject();
mongoTemplate.getConverter().write(comment, commentDBO);
mongoTemplate.updateFirst(
Query.query(Criteria.where("_id").is(productId)),
new Update().push("comment", commentDBO),
Product.class);
}
然后我得到更新的文档,但它在更新后返回 null。有查找所有文档的代码。
public List<Product> getAllProducts() {
return mongoTemplate.findAll(Product.class, COLLECTION_NAME);
}
问题是,当我更新文档时,它的存储顺序会发生变化(更新后按字母顺序排序)。例如;
//Before Update
{
name: {...} ,
price: {...} ,
comment: {[...]}
}
{
comment: {[...]},
name: {...} ,
price: {...} ,
}
更新后如何实现文档。是否有任何方法可以使用 Spring 的 MongoTemplate 或任何替代解决方案查找文档?感谢您的关注。