将对象添加到Java MongoDB中的数组

里拉

我需要以最“最佳实践”的方式将对象添加到嵌套在另一个对象内的数组中。

问题是我不想仅仅为了添加一个新对象而从数据库中拉出整个数组。必须有更好的方法来执行此操作,例如仅通过查询将新对象添加到数组中?

就目前而言,Im提起包含文章的Business对象,添加新文章,然后更新Business对象。

public interface BusinessRepository extends MongoRepository<Business, String> {

    @Query(value="{ 'id' : ?0 }", fields="{ 'posts' : 1 }")
    Business findOneIncludeOnlyPosts(String id, Pageable pageable);
}

我想要实现的是这样的:

@Query(value="{ SOME QUERY }")
void putPostInBusinessPosts(String id, Post post);

有可能还是我必须以更昂贵的方式来做?

使用:

  • 弹簧靴1.3.5
  • mongo-java-driver 3.2.2
或达

您无法使用来实现MongoRepository您将不得不使用MongoTemplate它。

我不认为它会更昂贵,但可能会更冗长。

import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;

...

Update update = new Update();
update.addToSet("posts", post);
Criteria criteria = Criteria.where("_id").is(id);
template.updateFirst(Query.query(criteria), update, "business");

假设业务是集合的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过Java中的循环将对象添加到数组

来自分类Dev

将对象添加到对象数组

来自分类Dev

将对象添加到对象数组

来自分类Dev

将对象添加到Java列表中

来自分类Dev

Json:将对象添加到数组

来自分类Dev

将对象添加到数组

来自分类Dev

将对象添加到数组

来自分类Dev

将对象添加到数组末尾

来自分类Dev

无法将对象添加到数组

来自分类Dev

将对象添加到数组的末尾

来自分类Dev

将对象添加到预分配的对象数组中

来自分类Dev

将对象添加到预分配的对象数组中

来自分类Dev

在Java中,如何通过对象的构造函数将对象添加到数组?

来自分类Dev

使用useReducer将对象添加到数组中的数组

来自分类Dev

使用redux将对象添加到数组中的数组

来自分类Dev

将对象添加到构造函数中的数组

来自分类Dev

将对象的值添加到数组的每个元素中

来自分类Dev

将对象添加到打字稿中的数组

来自分类Dev

将对象添加到构造函数中的数组

来自分类Dev

将对象从测试文件添加到类中的数组?

来自分类Dev

将对象添加到数组,然后在表中显示

来自分类Dev

反应:将对象添加到数组中

来自分类Dev

将对象添加到服务中的数组

来自分类Dev

PHP - 将对象添加到子数组中

来自分类Dev

在TypeScript中将对象添加到函数中的数组

来自分类Dev

无法使用mongoose将对象添加到mongodb中的数组中?

来自分类Dev

将对象添加到对象数组Javascritp

来自分类Dev

Java,空指针异常。当我将对象添加到数组时

来自分类Dev

如何使用方法Java将对象添加到泛型数组