【发布时间】:2013-07-09 20:18:36
【问题描述】:
我有一个流星应用程序将东西保存到 mongodb,我有一个我希望通过 REST 制作和公开的 api。
express = require 'express'
mongoose = require 'mongoose'
app = express()
mongoose.connect process.env.MONGO_URL
Account = mongoose.model 'users',
profile:
available: Boolean
app.get "/accounts/meta/:account_id", (req, res) ->
account = Account.findById req.params.account_id
, (error, account) ->
if account?
res.jsonp
account: account
else
res.jsonp 404,
error: "Account not found"
app.listen 2000
问题是我无法通过我在数据库中看到的 id 进行查询。例如我有这个用户:
{
"_id": "zcdsHuKr5dTh3xHz5",
"createdAt": 1373188729653,
"last_seen": 1373465529548,
"profile": {
....
如果我转到/accounts/meta/zcdsHuKr5dTh3xHz5,它会显示'Cast to ObjectId failed for value "zcdsHuKr5dTh3xHz5" at path "_id"'。我尝试了各种可能的方式来查询我的文档,但没有运气。有什么想法吗?
【问题讨论】:
-
您的文档的 ID 是 ObjectId 吗?
-
这只是我从数据库本身获取的字符串。不要认为这是一个对象ID。我还是 mongo 的新手。
标签: mongodb express coffeescript mongoose meteor