3
當插入帶有自定義_id值的新文檔時,我遇到了一些奇怪的問題。如果我插入文檔的自定義_id爲102071663223038 它會被保存在數據庫中,如102071663223038 。由於某些原因,它會遞增1.爲什麼在插入自定義id值時MongoDB增加_id
什麼可能會導致這種情況?
我的查詢是:
exports.register = function(req, res){
console.log('ATTEMPT to register a user with id: ' + req.body.userInfo.id);
// prints 1020716632230383 !!!
var query = {'_id': req.body.userInfo.id};
var update = {
'_id': req.body.userInfo.id ,
'name': req.body.userInfo.name
};
var options = {
upsert: true,
setDefaultsOnInsert : true
};
User.findOneAndUpdate(query, update, options).exec(function(err ,doc){
if(!err){
console.log('REGISTERED!: ' , doc);
res.status(200).json({'success': true, 'doc': doc});
}else{
console.log(err);
res.status(200).json({'success': false});
}
});
};
在我的架構中的_id被定義爲一個數字。
_id: {type:Number}