如何使用Jongo将项添加到Mongo数组?

时间:2013-06-09 09:13:53

标签: java arrays parsing mongodb jongo

我正在使用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,“shin”:11.0},“秒”:   “20130609”}]}无法解析

我的方法看起来那样

public void updateBodyParameters(Profile profile) {
        getCollection().update("{_id:#}", profile.getUsername()).with(
                "{$addToSet:{bodyParameters:#}", profile.getBodyParameters()
        );
    }

Body参数是一个包含此

的类
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;

请告诉我更新有什么问题

1 个答案:

答案 0 :(得分:4)

你错过了一个结束大括号,它应该是:

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

请注意,在#。

之后应该有两个结束括号