2016-06-16 3 views
0

Я использую DocumentDB на лазурь, и я не хочу, автоматически сгенерированный GUID, что он дает мне для идентификатора на верхнем слое ... пример:DocumentDB Document Id

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

как я превращаю этот идентификатор в:

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

о создании документа, возможно ли это? Благодаря!

здесь метод:

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

пример структура JSon:

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

ответ

3

Да, если вы добавить свое собственное поле с именем «Идентификатор» заполнить поле перед сохранением документа, то DocDb будет использовать указанный вами идентификатор. Но это означает, что вам нужно контролировать уникальность первичных ключей, иначе следующий документ, который вы сохраните с "id":"Brian", явно перезапишет предыдущий документ.

+0

o nice, im не совсем уверен, что вы имеете в виду, заполнив поле id –

+0

классно круто, im, предполагая, что идентификатор должен находиться на верхнем уровне документа? –

+1

Вы должны добавить поле к своему объекту с именем «id» и заполнить его значением, которое вы хотите, прежде чем сохранять документ. – cnaegle

Смежные вопросы