【发布时间】:2013-06-05 04:20:44
【问题描述】:
我正在使用 Jongo 来查询 mongodb。问题是,当我尝试将项目添加到数组字段时,我收到错误提示
HTTP 状态 500 - 请求处理失败;嵌套异常是 java.lang.IllegalArgumentException: {$addToSet:{bodyParameters:[ { “第一”:{“体重”:1.0,“身高”:2.0,“腰围”:3.0,“二头肌” :4.0,“胸部”:5.0,“前臂”:6.0,“手腕”:7.0,“颈部”:8.0 ,“臀部”:9.0,“臀部”:10.0,“胫骨”:11.0},“第二”: "20130609"}]} 无法解析
我的方法看起来是这样的
public void updateBodyParameters(Profile profile) {
getCollection().update("{_id:#}", profile.getUsername()).with(
"{$addToSet:{bodyParameters:#}", profile.getBodyParameters()
);
}
正文参数是一个包含这个的类
public class Tuple<E, T> implements Serializable {
private E first;
private T second;
它被创建为
ArrayList<Tuple<BodyParameters, String>>
BodyParameters 类包含字段
private double weight;
private double height;
private double waist;
private double biceps;
private double chest;
private double forearm;
private double wrist;
private double neck;
private double hip;
private double buttocks;
private double shin;
请告诉我更新有什么问题
【问题讨论】:
-
您能否提供您正在使用的文档结构?我可以弄清楚您想要实现的目标:bodyParameters 是否已经存在于文档中;您是否要向其中添加多个项目?谢谢。也许尝试在 mongo shell 中直接实现这一点会有所帮助:“无法解析”意味着您的查询无效。
标签: java arrays parsing mongodb jongo