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