Я отправляю некоторые данные в firestore, и я пытаюсь сгенерировать идентификатор записи, который совпадает с идентификатором документа, но не дает правильного значения - PullRequest
0 голосов
/ 14 апреля 2019

Я отправляю данные в firestore и хочу прикрепить идентификатор записи в виде post_id для каждого отправляемого сообщения ... Я использую android

final String randomName= FieldValue.serverTimestamp().toString();
// final String postId2=firebaseFirestore.collection("posts").document().getId();
final String postId2=firebaseFirestore.collection("posts").getParent().getId();
StorageReference filepath=storageReference.child("houses_desc").child(randomName+ ".jpg");
filepath.putFile(postImageUri).addOnCompleteListener(new OnCompleteListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
        if (task.isSuccessful()){
            String downloadUri=task.getResult().getDownloadUrl().toString();
            Map<String,Object> houseMap=new HashMap<>();
            houseMap.put("user_id",current_user_id);
            houseMap.put("image1",downloadUri);
           // houseMap.put("image2",mPostImage2);
            houseMap.put("house_type",title);
            houseMap.put("desc",description);
            houseMap.put("price",price);
            houseMap.put("province",stateProvince);
            houseMap.put("city",city);
            houseMap.put("email",email);
            houseMap.put("post_id",postId2);
            houseMap.put("time_stamp", FieldValue.serverTimestamp());

1 Ответ

0 голосов
/ 14 апреля 2019

Я уже отвечал на этот вопрос для JavaScript. См. Сохранить идентификатор в документе Firestore .

В реализации Android SDK CollectionReference.document() идентификатор нового документа определяется путем вызова:

Util.autoId()

Если вы посмотрите на источник для Util.autoId, это простой генератор случайных идентификаторов. Вы можете либо вызвать Firestore Util.autoId() из своего кода, либо реализовать нечто подобное самостоятельно.

final String postId2 = Util.autoId();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...