如果有人在 Kinvey (Mbaas) 上工作请帮助使用 nodeJS 设置数据链路项目
我是 nodeJS 的新手,我基于 kinvey 示例创建了一个 nodejs 项目。
下面是nodejs代码示例
var configTools = require("./config");
var util = require("util");
var querystring = require('querystring');
var ServiceLink = require('./service_link');
var restify = require('restify');
var server = restify.createServer();
//Configure the server to parse the request body into req.body
server.use(restify.bodyParser({ mapParams: false }));
//insert into call chain when debugging
var debug = function(req, res, next) {
if (config.debug){
var method = req.method;
var params = req.params;
var query = req.query;
var body = req.body;
console.log("Method: " + method +
"\nParams: " + util.inspect(params, false, null, true) +
"\nQuery: " + util.inspect(query, false, null, true) +
"\nBody: " + util.inspect(body, false, null, true) + "\n");
}
if (config.debugFullRequest){
console.log(util.inspect(req));
}
return next();
}
// Verify key matches the header
var keyauth = function(req,res,next) {
var key = req.headers['x-auth-key'];
if (key != config.key) {
return next(new restify.InvalidCredentialsError("Invalid API Key"));
} else {
next();
}
}
//Router functions
var extractReq = function(req, next){
if (!req){ return new restify.InternalError("ServiceLink is having problems..."); }
var params = req.params;
var query = req.query;
var body = req.body;
var output = {query: null, params: null, body: null, route: null};
// Extract query
if (query && query !== undefined){
try {
var parsedString = querystring.parse(query);
output["query"] = JSON.parse(parsedString.query);
} catch (e){
return new restify.InvalidContentError("JSON query exception: " + e);
}
}
// Extract route
if (params && params !== undefined){
try {
var s = "";
s = params.collection;
if (params.id){
s = s + "/" + params.id;
}
output["route"] = s;
} catch (e){
return new restify.InvalidContentError("Invalid Params: " + e);
}
}
// Extract body
if (body && body !== undefined){
try {
output["body"] = body;
} catch (e){
return new restify.InvalidContentError("JSON body exception: " + e);
}
}
return output;
};
var preGet = function(req, res, next){
var data = extractReq(req, next);
if (data instanceof Error){
return next(data);
}
ServiceLink.get(data["route"], data["query"], data["body"], res, next);
};
server.get(/\/public\/?.*/, restify.serveStatic({
directory: './docs',
default: 'index.html'
}));
//For debugging we add in the debug middleware
server.get('/:stateList', keyauth, debug, preGet);
server.listen(3000, function() {
console.log('%s listening at %s', server.name, server.url);
});
如果您查看代码,我已经创建了角度前端并为路由提供索引页面。
我的 html 文件加载正常,因为我会像这样调用 kinvey 数据存储,即 stateList
var promise = $kinvey.DataStore.find('stateList');
但它给了我 500 错误,当我用数据链路映射集合时,它给我错误说“_count 端点要在数据链路连接器中实现”
我的数据链接是http://localhost:3000/
任何人都请指导我进行此映射。谢谢