Как я могу добавить несколько путей к Firebase Firestore?

Я перепробовал так много способов, но не смог добавить как минимум четыре пути к Firestore.

Мое дерево JSON выглядит следующим образом:

ActiveTrades -> Userid -> autogeneratedId -> data fields

Я пробовал следующее:

var ref = firebase.firestore();
var addOrder = ref.collection("ActiveTrades").doc(userId).add({
 orderId: 1234
});

var ref = firebase.firestore();
var addOrder = ref.doc("ActiveTrades/"+userid).add({
 orderId: 1234
});

да, это uid пользователя

Jama Mohamed 17.03.2018 14:37

да, там написано "док" и "добавление" не идут вместе

Jama Mohamed 17.03.2018 14:56

я знаю, но я хотел создать уникальный идентификатор

Jama Mohamed 17.03.2018 15:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
672
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Первая проблема, которая у вас есть, заключается в том, что вы можете только добавить документ в коллекцию. Вы пытаетесь добавить документ в другой документ. Взгляните на документацию Модель данных Cloud Firestore для лучшего понимания.

Вам необходимо структурировать данные одним из следующих способов: /ActiveTrades/{userId}/orders/{orderId} или же /ActiveTrades/{orderId}

Если вы хотите добавить автоматический идентификатор, есть два способа сделать это ...

Создайте автоматический идентификатор, а затем установите его

var ref = firebase.firestore();
var orderRef = ref.collection("ActiveTrades").doc(userId).collection("orders").doc();
console.info("The new order ID is", orderRef.id);
var addOrder = orderRef.set({
 orderId: 1234
});

Создайте новый документ, а затем получите идентификатор

var ref = firebase.firestore();
var addOrder = ref.collection("ActiveTrades").doc(userId).collection("orders").add({
 orderId: 1234
}).then(response => {
  console.info("The new order ID is", response.id);
});

Что касается автоматического создания uid, просто вызовите .doc() empty нравиться:

// Add a new document with a generated id.
var newCityRef = db.collection("cities").doc();

// later...
newCityRef.set(data);

Просмотрите свою базу данных Firestore в онлайн-консоли Firebase Web Console. Обратите внимание на доступные параметры. ActiveTrades - это коллекция из документы. Документы может иметь поля или sub коллекция. В то время как это задокументировано, проще всего (по крайней мере, для меня) это увидеть визуально.

Так что постарайтесь не думать о «путях», поскольку это не XML / XPath и даже не JSON - это Firestore.

Вы можете попасть в местоположение с помощью .collection ("collName"). Doc ("docName) ... и я думаю, что вы можете получить это с помощью сокращения "collName / docName".

Другие вопросы по теме