2015-01-16 1 views
1

Кто-нибудь знает, как использовать MongoTemplate.findAndModify для перемещения элемента в отсортированный массив?Можно ли использовать Spring MongoTemplate для выполнения обновления, которое делает push для отсортированного массива?

Не похоже, что MongoTemplate поддерживает обновление $sort Оператор.

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

ответ

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 
    } 
    } 
}