2016-06-16 5 views
0

Ich verwende DocumentDB auf azur und ich will nicht die automatisch generierte GUID, dass sie mich für eine ID auf der obersten Ebene gibt ... Beispiel:DocumentDB Dokument-ID

{ "data": { "Name": "Brian", "Last": "Coolest", "gender": "m" }, "id": "7c572c3f-2ee1-43c9-bfb9-63b67542658d" }

wie mache ich diese ID in:

{ 
    "data": { 
    "Name": "Brian", 
    "Last": "Coolest", 
    "gender": "m" 
    }, 
    "id": "Brian" 
} 

auf die Erstellung des Dokuments, ist das möglich? Vielen Dank!

hier ist die Methode:

client.CreateDocumentAsync(
        UriFactory.CreateDocumentCollectionUri(databaseName, collectionName), JsonSerializedDocument); 

Beispiel json Struktur:

{ 
    "data": { 
    "id": "113118", 
    "url": "/v1/rentalUnits/202020202", 

Antwort

3

Ja, wenn Sie Ihr eigenes Feld mit dem Namen hinzufügen „id“, das Feld füllen, bevor Sie das Dokument speichern, dann DocDb verwendet die angegebene ID. Aber das bedeutet, dass Sie die Eindeutigkeit der Primärschlüssel kontrollieren müssen, sonst überschreibt das nächste Dokument, das Sie mit "id":"Brian" speichern, offensichtlich das vorherige Dokument.

+0

o schön, ich bin nicht genau sicher, was Sie meinen, indem Sie das ID-Feld –

+0

cool cool füllen, vorausgesetzt, die ID muss auf der obersten Ebene des Dokuments sein? –

+1

Sie müssen Ihrem Objekt mit dem Namen "id" ein Feld hinzufügen und es vor dem Speichern des Dokuments mit dem gewünschten Wert füllen. – cnaegle