googleapis / googleapis/google-cloud-node

Updating a nested document with a dynamic path using typescript

Chiusa
#7,464 11 commenti 1 reazione 1 assegnatario Assegnata a @MarkDuckworth Vedi su GitHub
api: firestore library: nodejs-firestore priority: p3 type: question
Lingua principale
TypeScript
Stelle
3.2k
Fork
712
Merge medio
2g 9h
PR unite (30g)
104

Descrizione

I have some code which was working great with earlier versions of firestore/typescript, but after updating can't see how firestore expects nested objects to be updated with dynamic paths.

It happily accepts a single string literal like this:
```typescript
// no type error
const keyPath = "paymentHistory.test";
t.update(userRef, {
[keyPath]: payment,
});
```

But strangely this results in a complex type error involving `AddPrefixToKeys`.
```typescript
// type error
const keyPath = "paymentHistory." + "test";
t.update(userRef, {
[keyPath]: payment,
});
```

The `paymentHistory` property on the User object is defined like this:
```typescript
paymentHistory: Record
```

I am using package versions:
```
"firebase-admin": "11.10.1",
"firebase-functions": "4.4.1",
"typescript": "5.2.2"
```

How can I satisfy the types, when the nested key `"test"` is a variable and not known at build time?

Thanks!

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.