node.js - 使用类似运算符 inito MongoDB 的节点 JS 休息服务
问题描述
我是 Node JS Develop 的新手。我已经使用 Express 和 Mongo DB 开发了一个特定的 REST 服务。现在我需要开发一个休息服务,当我传递一些字母时,会得到一组包含这些字母的项目。我想我可以使用 like 运算符开发 GET Rest 服务。我尝试过使用此代码,但错误:
router.get('/tire/autocomplete/:size', VerifyToken, function(req,res){
var size=req.params.size;
TechInfo.find({ Size: new RegExp(size, 'i') }).toArray(err, techinfos) => {
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
console.log(err);
}
res.status(200).send({status: 'ok', data: {msg: 'Size tires available', tires :techinfos}});
});
});
这是我的模型架构
var TechInfoSchema = new Schema({
"ID_code" :{type: Number, required: true},
"inches" : {type: Number, required: true},
"Brand" : {type: String, required: true},
"Size" : {type: String, required: true},
"type" : {type: String, required: true}
},{
collection: 'techInfo'
});
var TechInfo = db.model('TechInfo',TechInfoSchema)
module.exports = TechInfo;
当我使用邮递员呼叫我的休息服务时,我收到此错误
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /api/v1.0/equipment/tires/autocoplete</pre>
</body>
我可以看到一些关于休息服务的例子吗?谢谢
解决方案
为什么要使用 find 将最终结果转换为数组?它已经是一个数组
router.get('/tire/autocomplete', VerifyToken, function(req,res){
var size=req.params.size;
TechInfo.find({ Size: new RegExp(size, 'i') },(err, techinfos) => {
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
console.log(err);
}else{
res.status(200).send({status: 'ok', data: {msg: 'Size tires available', tires :techinfos}});
}
});
});
我只是把这个答案作为一个粗略的想法。如果这不能解决它也用你的模式更新帖子(模型)
推荐阅读
- xml - Delete Duplicated Node From XML
- r - 一次将数据框中的所有 0 值替换为多行和多列的 1
- javascript - MDN webRTC still photo capture demo stops working recently
- r - Extract value from tibble in R markdown inline code
- java - javax.crypto.IllegalBlockSizeException:密码函数:OPENSSL_internal:WRONG_FINAL_BLOCK_LENGTH
- ios - Crashed: com.twitter.crashlytics.ios.exception IOS
- java - 使用 Long 类型的对象参数对对象列表进行排序
- python - How to pull year and month from every month between date range into list?
- python - Converting TeX file to image in Python
- angularjs - AngularJS, How to call a function in component from Directive?