Je suis débutant chez Firestore. Docs Firestore dit ...
Important : Contrairement aux "ID push" dans la base de données en temps réel Firebase, les ID générés automatiquement par Cloud Firestore ne fournissent aucun ordre automatique. Si vous souhaitez pouvoir commander vos documents par date de création, vous devez stocker un horodatage en tant que champ dans les documents.
Référence: https://firebase.google.com/docs/firestore/manage-data/add-data
Dois-je donc créer un nom de clé comme timestamp
dans le document? Ou created
suffit pour remplir la déclaration ci-dessus de la documentation Firestore.
{
"created": 1534183990,
"modified": 1534183990,
"timestamp":1534183990
}
Tout ce que vous voulez appeler c'est bien afaik. Ensuite, vous pouvez utiliser orderByChild ('créé').
J'utilise également principalement firebase.database.ServerValue.TIMESTAMP lors de la définition de l'heure
ref.child(key).set({
id: itemId,
content: itemContent,
user: uid,
created: firebase.database.ServerValue.TIMESTAMP
})
La documentation ne suggère le nom d'aucun de vos champs. La partie que vous citez ne fait que dire deux choses:
La façon dont cela a fonctionné avec moi, prend simplement l'horodatage du paramètre snapshot snapshot.updateTime
exports.newUserCreated = functions.firestore.document('users/{userId}').onCreate(async (snapshot, context) => {
console.log('started! v1.7');
const userID = context.params['userId'];
firestore.collection(`users/${userID}/lists`).add({
'created_time': snapshot.updateTime,
'name':'Products I ♥',
}).then(documentReference => {
console.log("initial public list created");
return null;
}).catch(error => {
console.error('Error creating initial list', error);
process.exit(1);
});
});
Essayez celui-ci pour Swift 4 Timestamp (date: Date ())
let docData: [String: Any] = [
"stringExample": "Hello world!",
"booleanExample": true,
"numberExample": 3.14159265,
"dateExample": Timestamp(Date()),
"arrayExample": [5, true, "hello"],
"nullExample": NSNull(),
"objectExample": [
"a": 5,
"b": [
"nested": "foo"
]
]
]
db.collection("data").document("one").setData(docData) { err in
if let err = err {
print("Error writing document: \(err)")
} else {
print("Document successfully written!")
}
}
Swift 5.1
...
"dateExample": Timestamp(date: Date()),
...