У меня есть коллекция метеоров, и я хочу разрешить пользователю редактировать сразу несколько элементов и нажимать кнопку «Сохранить», чтобы обновить их все.
Это моя коллекция:
EmpresasUsuarias = new Mongo.Collection("empresasUsuarias");
И я делаю это на клиенте, чтобы он был в $ scope:
$scope.empresasUsuarias = $meteor.collection(EmpresasUsuarias, false);
Дело в том, что когда пользователь добавляет какие-то элементы и нажимает «Сохранить», я собираю (только) новые элементы в массив и отправляю на сервер с помощью метода метеора. На сервере метод вставляет элементы в коллекцию (mongo). Все нормально, пока поток не вернется к клиенту. Там коллекция получает "обратно" все эти новые записи снова, и они дублируются, и ошибка появляется в (клиентской) консоли:
Duplicate _id in new_results
Я думаю, что происходит то, что механизм подписки / публикации активируется, когда элементы вставляются и отправляются обратно клиенту; но они там уже существуют, и Meteor считает, что они дублированы (т.е. Meteor не синхронизирует элементы, а дублирует их и завершает сообщение об ошибке).
Я должен сказать, что я назначаю _id для каждой новой записи в клиенте, поэтому, когда они достигают сервера, у них уже есть _id.
Что я здесь делаю не так? Почему Meteor считает, что эти предметы разные, и говорит, что они дублируются?
Заранее большое спасибо за помощь и до свидания ...