私は流星のコレクションを持っており、ユーザーが一度に複数のアイテムを編集できるようにし、[保存] ボタンをクリックしてすべてを更新できるようにしたいと考えています。
これは私のコレクションです:
EmpresasUsuarias = new Mongo.Collection("empresasUsuarias");
そして、クライアントでこれを行い、$scope に入れます。
$scope.empresasUsuarias = $meteor.collection(EmpresasUsuarias, false);
つまり、ユーザーがいくつかのアイテムを追加して [保存] をクリックすると、配列内の新しいアイテム (のみ) を収集し、meteor メソッドを介してサーバーに送信します。サーバーでは、メソッドは (mongo) コレクションに項目を挿入します。フローがクライアントに戻るまで、すべて問題ありません。そこで、コレクションはこれらすべての新しいレコードを再び「バック」して複製し、(クライアント) コンソールにエラーが表示されます。
Duplicate _id in new_results
私が考えているのは、アイテムが挿入されてクライアントに送り返されると、購読/公開メカニズムがアクティブになることです。しかし、それらはすでにそこに存在し、Meteor は重複していると見なします (つまり、Meteor はアイテムを同期せずに重複させ、エラー メッセージで終了します)。
クライアントの新しいレコードごとに _id を割り当てていると言わなければならないので、サーバーに到達した時点で、既に_id を持っています。
ここで何が間違っていますか?Meteor がそれらのアイテムが異なると考えて、それらが重複していると言うのはなぜですか?
助けてくれてありがとう、さようなら...