mongodb - spring mongotemplate查询追加一个数组正在创建数组数组
问题描述
我需要在 mongodb 中附加我的字段
我正在使用下面的 mongotemplate 查询进行测试
List<String> dataList = Arrays.asList("Hello", "World!", "How", "Are", "You");
Update update = new Update();
update.push("mylist", dataList);
UpdateResult upResult = null;
query = new Query(Criteria.where("myId").is(appenModel.getMyId()));
try {
upResult = mongoTemplate.updateFirst(query, update, AppenModel.class);
logger.info("Updated Successfully");
} catch (Exception e) {
logger.error("Update is failed", e);
}
出于测试目的,我多次调用上面的代码,但它作为一个额外的数组附加到我的集合中。
它正在更新为 Array of Array
{
_id:5d5d55cde95b5c58740ec2d4
myId:123
mylist:[["Hello", "World!", "How", "Are", "You","Hello", "World!", "How", "Are", "You","Hello", "World!", "How", "Are", "You"]]
}
我的期望是
{
myId:123
_id:5d5d55cde95b5c58740ec2d4
mylist:["Hello", "World!", "How", "Are", "You","Hello", "World!", "How", "Are", "You","Hello", "World!", "How", "Are", "You"]
}
解决方案
由于 pushAll 已贬值,您必须同时使用 push 和 each
update.push("mylist").each(dataList)
推荐阅读
- python - pandas qcut 和 pandas cut 函数不会均匀分布项目数
- php - 使用 Tinymce 编辑器插件、wordpress 输入时从文本中删除所有标签
- mysql - 循环查找父ID,直到它给出null
- r - 每个星期一在 Shiny 中安排一个任务(更新数据)
- javascript - Onchange 事件未为特定迭代提供正确的 id
- python - 如何将通用变量文件与 Python 一起用于子文件夹?
- github-actions - 在 GitHub Actions 工作流作业中为环境使用动态输入值
- python - python google api创建具有权限的文件夹
- qt - 嵌入式 QT5 键盘自动重复不起作用
- php - 验证不起作用 Laravel 对 bcrypted 密码的自定义身份验证