を数える維持する方法+エクスプレス+マングース+ MongoDBのアレイメンバーは、私がnodeJSを使用してい
は、ここに私のMongoDBユーザー・スキーマです:
は、ユーザーが友人を追加するたびに{
friends: [ObjectId]
friends_count: Number
}
、friendIdが中に押し込まれます友人の配列、friends_countは1ずつ増加します。
多分、友達の配列を変更するアクションがたくさんありますし、friends_countを増やすのを忘れてしまうかもしれません。だから私はfriends_countがfriends.lengthと常に等しいことを確認したいです
これを確認する良い方法やフレームワークはありますか?
P.S
friends_countを更新する方法は分かっています。私が忘れてしまったのはどういう意味ですか?
これら2つの属性を自動的に同期させる方法はありますか?
あなたの答えに感謝します。私はfriends_countを更新する方法を知っています。私が何を意味するのは、もし私が忘れたら?これらの2つの属性を自動的に同期させる方法はありますか? – kilik52
@ kilik52これは何が起こっているのですか? MongoDB自体は "無作為"であり、そのようなことは追跡しません。このように配列を追加したり削除したりするすべての操作を工夫すれば、それらは安全でアトミックで**常に**正確な数を追跡します。あなたはmongooseスキーマにフックを追加することができますが、それは "安全"または "スケーラブル"である '.find()'と '.save()'パターンを必要とします。理論的には –
です**常に**同期します。しかし、私は私のデータベースで、時には非同期であった。私は理由を知ることができません.... – kilik52