Description
Operating System
windows 11
Browser Version
Windows 11 Pro 23H2 22631.3155
Firebase SDK Version
9.21.0
Firebase SDK Product:
Firestore
Describe your project's tooling
We are using firebase alongside expo to create an all platform app.
"@react-native-firebase/analytics": "^18.2.0",
"@react-native-firebase/app": "^18.2.0",
"@react-native-firebase/app-check": "^18.2.0",
"@react-native-firebase/auth": "^18.2.0",
"firebase": "^9.21.0",
Describe the problem
We were tring to accomplish a composite query that would fetch documents by Id or other property. The problem is whenever we try to use the documentId() method, the app throws an error saying we can't use that query because we need to create an index.
then when we follow the link to create the query we face a firebase error:
so we can't really query by id or another document field.
Because changing it to this works no problem and doesn't request you to create an index
.where(Filter.or(Filter.where('field1', '==', 'value'), Filter.where('field2', '==', 'value')))
Steps and code to reproduce issue
minimal reproducible code:
import { firestore } from 'firebase-admin'
import FieldPath = firestore.FieldPath
import Filter = firestore.Filter
const db = firestore()
export async function run(db: FirebaseFirestore.Firestore) {
db.collection('farms')
.where(Filter.or(Filter.where(FieldPath.documentId(), '==', 'value'), Filter.where('field2', '==', 'value')))
.get()
.then((snapshot) => {
console.log(snapshot)
})
}