How to request Cloud Firestore for non-existent document keys

Say I have a data model with some optional properties. This could be, for example, a custom object with the name "firstname", "lastname" and the optional property "website".

In Cloud Firestore, only user documents with a known website will have the property "website", for all other user documents this property will not exist.

Now I ask a question about how to request for all user documents without the property "website".

Thank.

+4
source share
1 answer

null (. ). , website null.

, , Firestore, null, . / null .

Android , :

FirebaseFirestore.getInstance().collection("test").whereEqualTo("website", null).get();

:

Example firestore structure

inuwlZOvZNTHuBakS6GV, document 9Hf7uwORiiToOKz6zcsX website.

, Swift, , , , NSNull() null Firestore. ( Swift, ):

// Writing data
let docData: [String: Any] = [
    "firstname": "Example",
    "lastname": "User",
    "website": NSNull()
]
db.collection("data").document("one").setData(docData) { err in
    if let err = err {
        print("Error writing document: \(err)")
    } else {
        print("Document successfully written!")
    }
}

// Querying for null values
let query = db.collection("test").whereField("website", isEqualTo: NSNull())

, , . - , , .

+8

Source: https://habr.com/ru/post/1687710/


All Articles