我有一個流星應用程序將內容保存到mongodb中,我有一個API,我希望通過REST進行顯示。Mongoosejs無法使用findById查詢
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仍然很陌生。 –