首先,对不起我的英语,我开始学习 MongoDB。:)
我正在尝试使用 CI 库将记录插入 MongoDB(https://github.com/alexbilbie/codeigniter-mongodb-library/tree/v2)。
插入工作完美,但我无法使用推荐的函数插入自动递增getNextSequence ( http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/ )。
我尝试了以下方法但没有成功。
控制器:
$data = array('_id' => 'getNextSequence("myid")',
'name' => 'Test '.time(),
'email' => 'test@test.com');
$this->default_model->add($this->collection, $data);
模型:
function add($collection, $data){
return $this->mongo_db->insert($collection, $data);
}
这将返回字符串' getNextSequence("relatorisid") '作为“_id”。
我也试过使用命令功能,像这样:
控制器:
$query = 'db.collection.insert({_id: getNextSequence("myid"), name: "Test '.time().'"});';
$ret = $this->default_model->execute($query);
var_dump($ret);
模型:
function execute($query){
return $this->mongo_db->command($query);
}
这样,返回错误:
["errmsg"]=> string(136) "exception: JavaScript execution failed: ReferenceError: getNextSequence is not defined near 'quence("myid"), name: "Teste 1374' "
["code"]=> int(16722)
["ok"]=> float(0)
有没有人实现过类似的东西?提前致谢!