をtruthyに戻りますが、私はこのようになりますアクションコレクションにバッチを挿入する必要がない場合にのみ見つけるとinsertMany:のMongoDBがマッチした組み合わせが
:アクションコレクションのスキーマがどのように見える[
{
"userId": "57ee65fef5a0c032877725db",
"postId": "57f63ce196b01748e4712ed3",
"type": "like"
},
{
"userId": "57ee65fef5a0c032877725db",
"postId": "57f7335223a76c0f780a44c5",
"type": "dismiss"
},
{
"userId": "57ee65fef5a0c032877725db",
"postId": "57f7335223a76c0f780a44c5",
"type": "dislike"
}
]
const ActionSchema = new mongoose.Schema({
userId: mongoose.Schema.Types.ObjectId,
postId: mongoose.Schema.Types.ObjectId,
type: String
}, {
timestamps: true
});
挿入前この配列内のこの特定の「userId」と「postId」にdbのaction collection
に一致する組み合わせがないことを確認します。ユーザは、特定の投稿が与えられたときに、他のユーザによって投稿された単一のアクションしか実行できないためです。
postIdsを取得し、 userIdsをバッチから配列で別々に検索し、$と:{{{$ in:payload.userIds}、{$ in:payload.postIds}}]を使用して検索し、insertManyの使用中にこれらのドキュメントを追加しないでください。これはちょっとばかげたやり方でバグです。 –