【发布时间】:2016-09-08 03:57:51
【问题描述】:
我有一个非常简单的 resful api,只是为了练习。但是当我尝试使用网址时,例如localhost:3000/people 它只显示一个像 [ ] 这样的空数组。控制台没有错误。我正在使用 node-restful 包来创建 api。这是我使用的代码:
Server.js(这是从 node-restful 包复制到相同的相同(https://github.com/baugarten/node-restful)
var express = require('express'),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
morgan = require('morgan'),
restful = require('node-restful'),
mongoose = restful.mongoose;
var app = express();
app.use(morgan('dev'));
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(bodyParser.json());
app.use(bodyParser.json({type:'application/vnd.api+json'}));
app.use(methodOverride());
mongoose.connect("mongodb://localhost/mydbs");
var people = app.people = restful.model('people', mongoose.Schema({
name: String
}))
.methods(['get', 'post', 'put', 'delete']);
people.register(app, '/people');
app.listen(3000);
console.log("working");
package.json
{
"name": "app1",
"version": "1.0.0",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"body-parser": "^1.15.1",
"express": "^4.13.4",
"lodash": "^4.12.0",
"method-override": "^2.3.5",
"mongoose": "^4.4.16",
"morgan": "^1.7.0",
"node-restful": "^0.2.5",
"resourcejs": "^1.2.0"
}
}
在我的 mongodb 中有数据在 db:named mydbs Collection:people
> show dbs
local 0.000GB
**mydbs 0.000GB**
test 0.000GB
> show collections
people
> db.people.find()
{ "_id" : ObjectId("57343f28f41d55c64cca135b"), "name" : "jackal" }
现在当我启动服务器并转到http://localhost/people 它显示一个空数组[]。但它应该以 Json 格式 显示类似这样的条目
{
_v: 0,
_id: 123344390dfsjkjsdf,
name: 'jackal'
}
请帮忙!!!请给我正确的方向。谢谢
【问题讨论】:
-
有没有人...谁可以回答这个问题或给出提示!!!
标签: json node.js mongodb rest express