Как создать автоматически увеличивающийся столбец в Documentdb

Я хочу создать документ в azure documentdb с автоинкрементным столбцом.

Это возможно? Если да, пожалуйста, направьте меня.

Любая помощь будет принята с благодарностью.

Database db = CreateOrReadDocumentDb("EmployeeDb").Result;
DocumentCollection dc = CreateOrReadDocumentCollection(db.SelfLink, "EmployeeDetails").Result;
Employee emp = new Employee();
emp.Name="ABC";
emp.id="";//automatically generate a unique string
emp.sal=10000;
emp.exp =5;
emp.index=0; // I want an auto increment column for emp with name index and want to store in azure document db
 client.CreateDocumentAsync(collectionLink, data);

person satish kumar V    schedule 30.12.2014    source источник
comment
не совсем, я отредактирую свой вопрос :)   -  person satish kumar V    schedule 30.12.2014
comment
возможный дубликат есть ли у нас столбец идентификации в DocumentDB   -  person Abdel Raoof Olakara    schedule 30.12.2014
comment
спасибо Абдель Рауф :)   -  person satish kumar V    schedule 30.12.2014


Ответы (1)


DocumentDB не включает встроенную функцию автоматического увеличения.

Как упоминал Гаурав в есть ли у нас столбец идентификации в DocumentDB, id Особенность поля заключается в том, что если приложение не предоставляет значение, DocumentDB автоматически назначит GUID.

Если вам нужна функция автоматического увеличения, одним из возможных решений может быть сохранение счетчика в виде документа и использование триггеры DocumentDB заполняют ваше поле и обновляют счетчик.

person Andrew Liu    schedule 05.01.2015
comment
Решение с триггерами и встречным документом будет работать только в пределах одной коллекции. Если вы хотите масштабировать позже и разделить данные на несколько коллекций, это будет сложно. Просто то, о чем следует подумать, прежде чем рассматривать это решение. Конечно, в рамках одной коллекции решение aliuy прекрасно. - person Bernhard Koenig; 19.01.2015
comment
Кажется, что внутри триггера нет доступа к объекту коллекции, поэтому, к сожалению, это не работает. - person dwhieb; 24.01.2016
comment
Вы можете получить доступ к объекту коллекции внутри триггера через getContext().getCollection(). Вот пример: github.com/ Azure/azure-documentdb-js-server/blob/master/samples/ - person Andrew Liu; 27.01.2016