MongoDB 没有像SQL一样有自动增长的功能,如果我们需要实现ObjectId自动增长功能,可以通过编程的方式来实现。步骤如下:
1. 创建counters集合:
db.createCollection("counters")
2. 向counters中插入一个文档:
db.counters.insert({_id:"productid",key_value:0})
3. 创建Javascript函数:
function getNextKeyValue(keyName){
var keyDocument = db.counters.findAndModify(
{
query:{_id: keyName},
update: {$inc:{key_value:1}},
new:true
});
return keyDocument.key_value;
}
4. 使用javascript函数实现自动增长:
示例:
db.products.insert({
"_id":getNextKeyValue("productid"),
"product_name":"Apple iPhone",
"category":"mobiles"})