【发布时间】:2015-11-22 22:21:27
【问题描述】:
我是 Node.js 的新手,如果这是一个非常愚蠢的问题,我很抱歉,但是我尝试找不到答案。
我有一些简单的代码:
var express = require("express");
var mongoose = require("mongoose");
var cors = require("cors");
mongoose.connect('mongodb://localhost/simple')
var personSchema = {
firstName:String,
lastName:String,
email:String
}
var Person = mongoose.model('Person', personSchema, 'people')
var app = express();
app.use(cors());
app.get('/people', function (req, res) {
Person.find(function (err, doc) {
res.send(doc);
})
})
app.get('/people/:id', function (req, res) {
Person.findById(req.params.id, function (err, doc) {
res.send(doc);
})
})
app.listen(3000);
这应该返回我插入到 mongo DB 的一些数据,而第一个 /people/ 正确返回所有内容(基本上只是返回 DB 的转储)
具有 ID 的第二个不返回任何内容。我尝试调试它,我看到函数 ID 的内部定义正确,我还使用了来自“人”网站的 ID(类似于:55e028081181bfdd8a7972d2),尽管这个事实我无法得到任何答案或错误.
有没有人可以告诉我哪里有问题?
【问题讨论】:
-
您是否尝试使用 ObjectId 构造函数,例如 stackoverflow.com/questions/6578178/… ?
-
我不知道你是什么意思,你的意思是不是像:pastebin.com/nFxSrZqw 如果是的,不幸的是它对我不起作用:(
-
MongoDB 是否已使用您的应用程序以及通过 mongoose 或任何其他方法填充了数据?
-
请分享其外观的示例数据。
-
我同意这一点。在您的“人员”集合中显示数据。
mongoose.model调用中的第三个参数是不需要的,因为这是它所期望的(person 的复数形式是 people)。
标签: javascript node.js mongodb