MongoError: key $get不能以'$'开头
MongoError: key $get must not start with '$'
我使用node js和express js框架在服务器端插入mongodb中的对象,我使用angular js。但是它抛出的错误是MongoError: key $get不能以'$'
开头server.js
app
.use(bodyParser.json())
.post('/contact', upload.single('file'), function(req,res){
var contact = req.body;
delete contact.$promise;
delete contact.$resolved;
console.log(contact);
//console.log(req.file);
contact.userId = 1;
db.collection(CONTACTS_COLLECTION).insertOne(contact, function(err, doc) {
if (err) {
console.log(err + " Unsuccess");
} else {
console.log(doc.ops[0]);
res.status(201).json(doc.ops[0]);
}
});
})
控制台触点显示值
{ firstName: 'abc,text',
lastName: 'abc,text',
toJSON: 'function (){var a=v({},this);delete a.$promise;delete a.$resolved;return a}',
'$get': 'function (a,b,d){x(a)&&(d=b,b=a,a= {});a=m[c].call(this,a,this,b,d);return a.$promise||a}',
'$save': 'function (a,b,d){x(a)&&(d=b,b=a,a={});a=m[c].call(this,a,this,b,d);return a.$promise||a}',
'$query': 'function (a,b,d){x(a)&&(d=b,b=a,a={});a=m[c].call(this,a,this,b,d);return a.$promise||a}',
'$remove': 'function (a,b,d){x(a)&&(d=b,b=a,a={});a=m[c].call(this,a,this,b,d);return a.$promise||a}',
'$delete': 'function (a,b,d){x(a)&&(d=b,b=a,a={});a=m[c].call(this,a,this,b,d);return a.$promise||a}',
'$update': 'function (a,b,d){x(a)&&(d=b,b=a,a={});a=m[c].call(this,a,this,b,d);return a.$promise||a}' }
误差MongoError: key $get不能以'$'开头
提前感谢
您真的想要存储控制台显示的相同联系人吗?使用所有的$命令?还是说它被附加了不必要的东西?你从你的前端发送什么对象?
作为mongoDB $的答案是一个保留关键字,它不应该在你试图保存的文档的关键字内使用。如果他们允许$ in键,查询将开始失败,因为mongo使用特殊目的的$关键字,这将是类似于SQL注入的安全威胁。
作为一个解决方案,如果你真的想用相同的数据存储联系人,我建议用get或_get替换$get,类似地,用$ keyword替换所有的键。
谢谢
相关文章:
- 不能从angular2中的子组件指定父组件中的数组
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 转义符不能与innerHTML一起使用
- JSON.parse没有'不能使用Javascript
- JS可以在Chrome中工作,但不能在Firefox中工作
- 砌体不能填补小缺口
- javascript扫雷器floodfill算法不能正常工作
- JavaScript指令不能像我想象的那样工作
- 为什么在这个网站上不能通过JS访问元素
- Facebook登录按钮没有'不能在Firefox上工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- 匹配由单个空格分隔的单词,单词的开头或结尾不能有空格
- 正则表达式能否匹配字符串开头或结尾的字符(但不能同时匹配)
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- MongoError: key $get不能以'$'开头
- Javascript -我不能在字符串的开头进行连接
- 匹配包含下划线、小写ASCII字母、ASCII数字、连字符或点的字符串,但不能以点和连字符开头
- 在javascript中,将第一个字母和特殊字符(*&^%.,)后的每个字母大写,但不能在开头插入字符