Hi, first of all your code disallows form permission for the same data even if it’s different member. If you want to make it per member, change your query.
Second , you used beforeUpdate instead of beforeInsert.
Third (optional), another thing you can do to make sure there’re no duplicates is to create the _id value based on concatenation of the member._id and the current date (after converting it to string). This way, every new submission attempt with same _id (i.e. same member._id and date) will be automatically rejected by the system.