1

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

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

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

4

1 回答 1

1

$push $eachwith$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
    }
  }
}
于 2015-01-16T13:25:48.163 回答