Así es como se ve mi base de datos de firebase:

Estoy usando la base de datos en tiempo real de firebase. Por el momento, todos los usuarios pueden crear una publicación, lo cual es bueno. Todos los usuarios pueden eliminar su publicación si son el propietario (que es lo que quiero), cuando un usuario está editando una publicación que no es de su propiedad, crea un duplicado de esa publicación con la nueva información actualizada.
No están editando la publicación original, la están duplicando bajo su uid. ¿Cuáles son las reglas para que no puedan duplicar la publicación?
esas son mis reglas:
{ "rules": { ".read": true, ".write": "auth != null", "posts":{ "$uid":{ ".write": "auth != null && auth.uid == $uid" } } } }este es mi codigo
const [currentUser, setCurrentUser] = useState(); const [id, setId] = useState(""); const [show, setShow] = useState(false); useEffect(() => { const unsubscribe = auth.onAuthStateChanged(async (userAuth) => { if (userAuth) { const userRef = await createUserProfileDocument(userAuth); userRef.on("value", (snapShot) => { setCurrentUser({ key: snapShot.key, ...snapShot.val() }); }); } if (setCurrentUser(userAuth)) { } else if (!userAuth && typeof window !== "undefined") { return null; } const uid = userAuth.uid; console.log(uid); setId(uid); }); return unsubscribe; }, []); const postKey = props.farm.postKey; console.log(id); const DeletePost = () => { getFirebase() .database() .ref(`Users/Posts/`) .child(`${id}`) .child(`${postKey}`) .remove(); }; const updatePost = (e) => { e.preventDefault(); const obj = { ...values, }; const postKey = props.farm.postKey; getFirebase() .database() .ref(`Users/Posts/`) .child(`${id}`) .child(`${postKey}`) .update(obj, (err) => { if (err) console.log(err); }); };