2

我正在使用 Jongo 来查询 mongodb。问题是,当我尝试将项目添加到数组字段时,我收到错误消息

HTTP 状态 500 - 请求处理失败;嵌套异常是 java.lang.IllegalArgumentException: {$addToSet:{bodyParameters:[ { "first" : { "weight" : 1.0 , "height" : 2.0 , "waist" : 3.0 , "biceps" : 4.0 , "chest" :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;

请告诉我更新有什么问题

4

1 回答 1

4

你缺少一个右花括号,它应该是:

"{$addToSet:{bodyParameters:#}}", profile.getBodyParameters()

请注意,# 之后应该有两个右大括号。

于 2013-07-03T12:43:55.913 回答