Intereting Posts
Приложение электронной почты MPDF отправляет пустой PDF-файл Анализ XML с использованием XSD в PHP SimpleXML – echo / print_r возвращает разные значения Можем ли мы интегрировать проект Laravel в библиотеку в CodeIgniter? Должен ли я использовать статические классы и что является преимуществом (или недостатком)? PHP: Загрузите изображение через его URL-адрес и предложите пользователю сохранить Как я могу отправить push-уведомление нескольким устройствам за один раз в iPhone? PHP – выход или возврат, который лучше? Ошибка YII CGridView В студии Zend, как определить тип переменной, так что у меня автозаполнение? ошибка часового пояса по умолчанию в php Одна форма с двумя кнопками отправки и различными действиями для каждой кнопки Outlook 2003 не импортирует календарь .ics, а Outlook 2007 Один запрос для вставки нескольких строк с несколькими столбцами PHP – Возвращает последнюю строку в файле?

Как создать поле автоматического приращения

Я хочу добавить значение auto increment в поле mongodb с помощью php, не используя подсчет записей, а следующее число (count + 1) будет моим значением приращения … Или есть способ создать массив значений автоинкремента в mongodb , php например, клиент, имеющий несколько адресов электронной почты и адресов, мы можем сохранить его как email[{1:'a@x.com',2:'demo@example.com'},...] а также для address[{1:'Indore',2:'Dewas'},...] Поэтому для уникальности я хочу установить значение автоинкремента из каждого адреса электронной почты и адреса.

Solutions Collecting From Web of "Как создать поле автоматического приращения"

Это возможно, если вы создадите две коллекции

Сначала для сохранения поля, для которого вы хотите создать номер автоинкремента, например

 // Inserting 2 records for which we want to create auto-increment numbers db.autoincrementcollection.insert({ field_id: "register_id", nextId: 0 }, { field_id: "user_id", nextId: 0 }); // Function is used to get the next autoincremented value function getNextId(field) { var ret = db.autoincrementcollection.findAndModify({ query: { field_id: field }, update: { $inc: { nextId: 1 } }, new: true }); return ret.nextId; } 

Второй, в котором вы хотите использовать увеличивающееся число, например

 // inserting data in registration collection with register_id auto-increment number db.registration.insert({ _id: getNextId("register_id"), fname: "Rohan", lname:"Kumar" }); // inserting data in user collection with user_id auto-increment number db.users.insert({ _id: getNextId("user_id"), name: "Rohan Kumar" }); 

findAndModify () может не работать при использовании кода с использованием PHP, тогда вы можете использовать find () и / или update ()

Обратитесь к Документам для поля «создание-авто-инкреция»

В идеале вы не должны использовать автоинкремент в качестве идентификатора в MongoDb. Если вы хотите, обратитесь к двум хорошим методам, приведенным здесь:

http://www.mongodb.org/display/DOCS/How+to+Make+an+Auto+Incrementing+Field

Возможно, нам нужно получить максимальную идентификационную форму

db -> collection -> find () -> sort (array ('id' => -1)) -> limit (1)

Он возвращает массив max id. Добавить db ['id'] + 1;

Каждый раз не нужно сохранять идентификатор автоматического увеличения в mongo