【问题标题】:Is it possible to use Spring MongoTemplate to do an update that does a push to a sorted array?是否可以使用 Spring MongoTemplate 进行更新以推送到排序数组?
【发布时间】:2015-01-16 09:05:04
【问题描述】:

有人知道如何使用MongoTemplate.findAndModify 将元素推送到排序数组吗?

看起来MongoTemplate 不支持更新$sort 运算符。

http://docs.mongodb.org/manual/reference/operator/update/sort/

【问题讨论】:

    标签: spring sorting push spring-data-mongodb mongotemplate


    【解决方案1】:

    $push $each$sort 的支持目前不适用于 Update。有关此问题的进展,请参阅DATAMONGO-1141。同时您可以使用BasicUpdate 来创建您需要的语句。

    Update update = new BasicUpdate(new BasicDBObject());
    update.push("yourFieldNameHere", new BasicDBObjectBuilder()
      .add("$each", Arrays.asList("foo", "bar"))
      .add("$sort", 1).get());
    

    将创建

    {
      "$push": {
        "yourFieldNameHere": {
          "$each": ["foo","bar"],
          "$sort": 1
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 2015-02-11
      相关资源
      最近更新 更多