Класс Update

Update

Класс для обновления полей документа из БД

Содержание


new Update()

Конструктор Update()

Update  = new Update();

Работа с методами данного класса возможна также через метод .updateDocument класса Document

Document document = new Document("ordersCollection");
//document.getDocumentById(...);
//document.updateDocument();

.set(field,value)

Метод для установки нового значения поля документа БД.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля для изменения "orderNumber"
value Object Обязательный Новое значение поля 22

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument()
                        .set("exampleField", "random Any1")
                        .set("anotherExampleField", "random Any2");


                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successfull
                    }


                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }


            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.push(field, value)

Метод для добавления элемента в поле (типа массив) документа БД

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Array "orderNumber"
value Object Обязательный Элемент для добавления в массив -42.42

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().push("array1", 1);


                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }


            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.popFirst(field)

Метод для удаления первого элемента из поля (типа массив) документа БД.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Array "orderNumber"

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().popFirst("array1");


                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }


                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }


            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.popLast(field)

Метод для удаления последнего элемента из поля (типа массив) документа БД.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Array "orderNumber"

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().popLast("array1");


                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }


                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }


            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.pull(field, value)

Метод для удаления заданного элемента из поля (типа массив) документа БД.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Array "orderNumber"
value Object Обязательный Элемент для удаления из массива "delete me"

Примечание

Если в массиве несколько элементов со значением, соответствующим значению value, данный метод удалит все эти элементы.

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().pull("array2", 3);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.pullAll(field, value)

Метод для удаления всех переданных (в качестве параметра values) элементов из поля (типа массив) документа БД.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Array "orderNumber"
value List<Object> Обязательный Элементы для удаления из массива см. пример ниже

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                //create array of elements to delete from array
            List<Object> objects = new ArrayList<>();
                objects.add(1);
                objects.add(2);
            objects.add(3);

                document.updateDocument().pullAll("array2", objects);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.addToSet(field, value)

Метод для для добавления элемента в поле (типа массив) документа БД если он еще не присутствует в нем.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Array "orderNumber"
value List<Object> Обязательный Элементы для добавления в массив см. пример ниже

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().addToSet("array4", 7);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.inc(field, increaseValue)

Метод для увеличения значения поля документа БД на заданное значение. Примечание: число может иметь отрицательное значение

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля "counter"
value Integer / Double / Date Обязательный Шаг изменения -2.2

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().inc("numberField", 2);
            document.updateDocument().inc("anotherNumberField", -10);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.setCurrentDate(field)

Метод для установки текущей даты в поле (типа Date) документа БД.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля типа Date "registerDate"

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().setCurrentDate("date1");

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.mul(field, value)

Метод для умножения поля документа БД на заданное значение.

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля "counter"
value Integer / Double Обязательный Мультипликатор -2.2

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().mul("numberForMulTest", 3);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successful
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.min(field, valueToCompare)

Метод обновляет значение числового поля только в случае, если новое значение меньше текущего значения поля

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля, значение которого нужно изменить "price"
valueToCompare Integer / Double Обязательный значение для сравнения с текущим значением поля 43

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().min("number2", 10);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successfull
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.max(field, valueToCompare)

Метод обновляет значение числового поля только в случае, если новое значение больше текущего значения поля

Параметр Тип Свойства Описание Пример значения
field String Обязательный Имя поля, значение которого нужно изменить "price"
valueToCompare Integer / Double Обязательный значение для сравнения с текущим значением поля 43

Пример

final Document document = new Document(“ordersCollection”);
document.getDocumentById("KH3JCojAyT", new CallbackFindDocument() {
            @Override
            public void onDocumentFound(DocumentInfo documentInfo) {
                //document found, we can update it

                document.updateDocument().max("number2", 10);

                document.saveDocument(new CallbackDocumentSaved() {
                    @Override
                    public void onDocumentSaved() {
                        //document updated successfull
                    }

                    @Override
                    public void onDocumentSaveFailed(String errorCode, String errorMessage) {
                        //document update failed
                //check update info
                //see errorCode and errorMessage
                    }
                });
            }

            @Override
            public void onDocumentNotFound(String errorCode, String errorMessage) {
                //document not found
            }
        });


.getUpdateInfo()

Метод для получения информации, необходимой методам для обновления документа.