Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 包含$each和$position的等效Spring数据mongo模板查询_Mongodb_Mongodb Query_Spring Data Mongodb - Fatal编程技术网

Mongodb 包含$each和$position的等效Spring数据mongo模板查询

Mongodb 包含$each和$position的等效Spring数据mongo模板查询,mongodb,mongodb-query,spring-data-mongodb,Mongodb,Mongodb Query,Spring Data Mongodb,我有这个查询,希望使用SpringMongo模板来启动这个查询。但我不确定如何使用Spring数据处理mongo的$each和$position db.data.update( //Query {"where":"condition"}, //Update { //Set some values $set:{"aaa":402.7,"bbbb":6523297.00}, //Push some value in

我有这个查询,希望使用SpringMongo模板来启动这个查询。但我不确定如何使用Spring数据处理mongo的$each和$position

db.data.update(
    //Query
    {"where":"condition"},
    //Update
    {   
        //Set some values
        $set:{"aaa":402.7,"bbbb":6523297.00},
        //Push some value into an inside array at the first place
        $push: { 
            YYYYYY: { $each: [{
                    "time" : 1234,
                    "data" : [ 
                        396, 
                        403.35, 
                        386.5, 
                        401.15, 
                        8370865, 
                        3320159538.15
                    ]
                    } ],
            //
            $position: 0 } 
        } 
     },
     {
        //Update or insert
        upsert: true
     }
     )
目前我有这样的更新它在最后一个职位

Update update = new Update();
              update.set("aaa", 402.7);
              update.set("bbbb", 6523297.00);
              update.push("YYYYYY", data.getYYYYYY().get(0));

              Query query = new Query(Criteria.where("where").is(condition));
              mongoOperations.findAndModify(query, update, FindAndModifyOptions.options().upsert(true),DailyData.class);
我知道有一种方法可以使用push builder使用push

PushOperatorBuilder pushBuilder=update.push(“YYYYYY”); 每个(data.getyyyyy().get(0))


但是它没有位置属性可以提及

,这是因为1.7%的spring数据来自源

  • 强制在给定的{@literal位置}添加值。 * *@param位置需要大于或等于零。 *@返回 *@自1.7 */ 公共推送操作员生成器位置(内部位置){

    if(位置<0){
    抛出新的IllegalArgumentException(“位置必须大于或等于零”);
    }
    this.modifiers.addModifier(新位置修饰符(位置));
    归还这个;
    }
    
    if (position < 0) {
        throw new IllegalArgumentException("Position must be greater than or equal to zero.");
    }

    this.modifiers.addModifier(new PositionModifier(position));

    return this;
}