mongodb 㧠auto increment ã®éç¨ãããã«ã¯ã©ãããã°ããã
mongodb 㯠ãã¹ã¦ã®ãã¼ãã«ã« _id ã¨ãã èå¥å ãå¿ ãå«ã¾ãã¦ããã
insert ããæã«ãèªåçã«ä¸ææ§ãã¼ã¨ã㦠ObjectId("514af36644f9cb2eb8000002") ã¨ãã£ããããªæãã§çæãããã
ããã ObjectId ã§ã¯ãªãã¦ãæ°åã«ãã auto increment ã¨ãã¦èªåçæãããã«ã¯ã©ãããã°ãããã¨ãã話ã
mongodb å ¬å¼ãµã¤ãã« æ¹æ³ãæ¸ããã¦ããã®ã§ãåèã«æ¸ãã
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
ã¾ããã°ã¤ã³ãã test ãã¼ã¿ãã¼ã¹ã«æ¥ç¶ã
# mongo
use test
auto increment ã®å ã§ãããcounters ãã¼ãã«ãä½æã
db.counters.insert(
{
_id: "entry",
seq: 0
}
)
counters ãã¼ãã«ã«ãã _id ãåç §ã㦠+1 ã«ãã¦è¿ãã¨ãã£ã getNextSequence é¢æ°ãä½æã
function getNextSequence(name) {
var ret = db.counters.findAndModify(
{
query: { _id: name },
update: { $inc: { seq: 1 } },
new: true
}
);
return ret.seq;
}
å®éã« id ã auto increment ã«ãªã£ã¦ãããã entry ãã¼ãã«ãä½æãæ¤è¨¼ãã¦ã¿ãã id ã« etNextSequence("entry") ã¨æ¸ãã¦ããã¨ããã«æ³¨ç®ã
db.entry.insert(
{
_id: getNextSequence("entry"),
title: "express-local ãã¤ãã£ã¦ãã°ã¤ã³æ©è½ãå®è£
ãã¦ã¿ã",
body: "express-local ã§èªåãµã¼ãã¹ã®ãã°ã¤ã³æ©è½â¦",
created: new Date(),
updated: new Date()
}
)
db.entry.insert(
{
_id: getNextSequence("entry"),
title: "mongodb ãã¤ãã£ã¦ã¿ãã",
body: "SQL ã NoSQL ã®ããã¨ãããåã£ãã¨ãããã¦ããâ¦",
created: new Date(),
updated: new Date()
}
)
ããã¦ã _id ãã©ããªã£ã¦ããã entry ãã¼ãã«ã®ä¸èº«ãã¿ã¦ã¿ããã
> db.entry.find()
{ "_id" : 1, "title" : "express-local ãã¤ãã£ã¦ãã°ã¤ã³æ©è½ãå®è£
ãã¦ã¿ã", "body" : "express-local ã§èªåãµã¼ãã¹ã®ãã°ã¤ã³æ©è½â¦", "created" : ISODate("2013-03-23T05:07:06.568Z"), "updated" : ISODate("2013-03-23T05:07:06.568Z") }
{ "_id" : 2, "title" : "mongodb ãã¤ãã£ã¦ã¿ãã", "body" : "SQL ã NoSQL ã®ããã¨ãããåã£ãã¨ãããã¦ããâ¦", "created" : ISODate("2013-03-23T05:07:25.824Z"), "updated" : ISODate("2013-03-23T05:07:25.824Z") }
å©ç¨å ´é¢ã¯ããã¤ãããããã©ãã²ã¨ã¤ã®ä¾ã¨ãã¦ã¯ãåå¥è¨äºãã¼ãã«ã®IDãã¤ããæã æè¿ cookpad ã®ã¬ã·ãã nanapi ã®ã¬ã·ããã¿ã¦ã¿ãã¨ããã¼ã¸ID ãæ°åã«ãªã£ã¦ããã
ãã®ãã¨ãããã®åµã¹ã¼ã by rose12 [ã¯ãã¯ããã] ç°¡åããããã¿ããªã®ã¬ã·ãã142ä¸å
http://cookpad.com/recipe/1896272
ã¨ãã
æå¤ã¨ç¥ããªãï¼iPhoneã®ã¢ããªãå®å ¨ã«çµäºãããæ¹æ³ | nanapi [ããã]
mongodb ã使ã£ã¦ä½ãã¨ããããã¨ããå ´é¢ã«ä½¿ããã