как проверить, дублируется ли поле в другом документе (трепетание Firebase)

#firebase #flutter #dart #google-cloud-firestore

#firebase #трепетание #dart #google-облако-firestore

Вопрос:

Я хочу проверить конкретное поле, если оно дублируется в другом документе или нет, прежде чем добавлять документ в свою коллекцию

 await FirebaseFirestore.instance.collection('Cars').add({
        'Car Owner Name': 'uj',
        'Car Make': CarMake,
        'Car Name': CarName,
        'Car Year': CarYear,
        'Plate Number': PlateNumber,
      });
 

поле — это номер пластины

Комментарии:

1. Соответствуют ли номерные знаки определенному формату? Будут ли автомобили доступны для редактирования?

2. должно быть только> = 3 цифры

3. да, оно будет доступно для редактирования

Ответ №1:

Вы можете использовать PlateNumber в качестве идентификатора документа. Если автомобиль с таким номерным знаком уже существует, он будет обновлен.

 await FirebaseFirestore.instance.collection('Cars').doc(PlateNumber).set({
    'Car Owner Name': 'uj',
    'Car Make': CarMake,
    'Car Name': CarName,
    'Car Year': CarYear,
    'Plate Number': PlateNumber,
});
 

Однако существуют некоторые ограничения на идентификаторы документов. Я предполагаю, что единственной проблемой будут косые черты ( / символ), которые могут быть у некоторых номерных знаков. Вы можете заменить любые косые черты в идентификаторе документа каким-либо другим символом, который никогда не появится в номерном знаке. Я бы использовал этот % символ, потому что он выглядит как косая черта, но с 2 дополнительными кругами 🙂