Я перепробовал так много способов, но не смог добавить как минимум четыре пути к 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
});
да, там написано "док" и "добавление" не идут вместе
я знаю, но я хотел создать уникальный идентификатор



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Первая проблема, которая у вас есть, заключается в том, что вы можете только добавить документ в коллекцию. Вы пытаетесь добавить документ в другой документ. Взгляните на документацию Модель данных 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".
да, это uid пользователя