4 글 보임 - 1 에서 4 까지 (총 4 중에서)
-
글쓴이글
-
2022년 8월 14일 13:28 #42306
김동영참가자당근마켓 클론 코딩을 공부한 후에 제가 원하는 서비스로 수정 제작 하고있습니다 firestore에 규칙을 설정 하는 부분에서 post라는 collcetion을 만들고 그안에 document를 만들었습니다 document안에는 title, name, content, date, uid, agree라는 필드들을 만들었는데 보안 규칙을 match /post/{docId} { allow read : if true allow create: if (request.auth != null // && request.resource.data.keys().hasOnly(['title', 'content']) && request.resource.data.title.size() > 0 && request.resource.data.content.size() > 0); allow delete: if request.auth.uid == resource.data.uid || checkAdmin(); allow update : if request.auth.uid == resource.data.uid || checkAdmin(); } 이렇게 지정 했습니다 여기서 agree라는 필드는 로그인 한 사람 모두가 업데이트할 수 있게 하고 싶은데 이미 post에 allow update : if request.auth.uid == resource.data.uid || checkAdmin(); 이렇게 규칙을 지정해서 업데이트가 안되네요ㅠ 특정 필드만 업데이트하는 규칙을 따로 지정 해줄 수 없나요?
2022년 8월 14일 23:33 #42377
codingapple키 마스터https://stackoverflow.com/questions/49671227/allow-update-on-single-field-in-firestore 사용자가 update 요청하는 필드가 어떤 필드인지 확인한 다음에 그게 agree 필드 맞으면 update 허락하도록 코드짤 수 있습니다
2022년 8월 19일 16:01 #43142
익명비활성<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"> <link href = "main.css" rel="stylesheet"> </head> <body> <nav> <ul class="nav nav-tabs"> <li class="nav-item"> Active <li class="nav-item"> Link <li class="nav-item"> Link <li class="nav-item"> Disabled </nav>
<div class="container mt-3"> <input type="text" class="form-control mt-2" id="title" placeholder="title"> <textarea class="form-control mt-2" id="content"placeholder="content"></textarea> <input type="text" class="form-control mt-2" id="price" placeholder="price"> <input class="form-control mt-2" type="file" id="image"> <button class="btn btn-danger mt-3" id="send">올리기</button> </div> <script> const db = firebase.firestore();
$('#send').click(function(){ let save = { 제목 : $('#title').val(), 가격 : $('#price').val(), 내용 : $('#content').val(), } db.collection('product').add(save) });
</script>
<script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-app.js"></script> <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-auth.js"></script> <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-firestore.js"></script> <script src="https://www.gstatic.com/firebasejs/8.6.5/firebase-storage.js"></script>
<script> const firebaseConfig = { apiKey: "AIzaSyBYLbUqQ3FhcUIrwzyL3ZQLZDe9IYAysC8", authDomain: "carrots-c4aa7.firebaseapp.com", projectId: "carrots-c4aa7", storageBucket: "carrots-c4aa7.appspot.com", messagingSenderId: "431773937554", appId: "1:431773937554:web:3f2c06f4cc41cffa285b4b", measurementId: "G-N7F3ENFWX2" };
// Initialize Firebase firebase.initializeApp(firebaseConfig); // const app = initializeApp(firebaseConfig); // const analytics = getAnalytics(app); </script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script> </body> </html> upload.html파일 코드인데 업로드가 안돼요,,,영상이랑 똑같이 했는데 왜 안될까요,,?
-
글쓴이글
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
- 답변은 로그인 후 가능합니다.