2012-09-05 66 views
0

我是新來的貓鼬,爲了將一個貓鼬集合轉換成一個數組,我試圖搜索很多東西,但它返回一個錯誤,即toArray()不是一個方法。我想轉換成array.I的替代方法正在使用的護照JS方法進行驗證和我要求所有的用戶信息作爲array.I我試着以實現在貓鼬中返回一個集合數組

https://github.com/jaredhanson/passport-local/blob/master/examples/express3/app.js

給出的例子

貓鼬驅動的數據。

繼承人我試圖用來將一個貓鼬集合轉換爲一個數組片段。

ContactProvider.prototype.findByusername=function(callback){ 
    var users=Post.find({}); 
    var user=toObject((JSON.parse(users))) ; 
    callback(null,user); 

}; 

我有以下錯誤

undefined:1 
[object Object] 
^ 
SyntaxError: Unexpected token o 
    at Object.parse (native) 
    at ContactProvider.findByusername (/home/r121/Desktop/nilesh/cmarin-MongoDB-Node-Express-Blog-4a5e5e9/postprovider.js:60:26) 
    at Object.<anonymous> (/home/r121/Desktop/nilesh/cmarin-MongoDB-Node-Express-Blog-4a5e5e9/app.js:138:37) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.runMain (module.js:492:10) 
    at process.startup.processNextTick.process._tickCallback (node.js:244:9) 

我應該如何返回這些集合數組backs.Can請人指導我的語法?

回答

2

一個簡單的解決方案是利用.find()方法的回調,然後在返回的結果上調用toObject()。例如

Post.find({}).exec(function(err, o) { 
    callback(err, o) 
}); 

編輯:刪除多餘toObject()調用由JohnnyHK在評論中提到的原因

+0

是的,它的工作,但它在控制檯 – Nilesh

+0

控制檯看起來像這樣 – Nilesh

+0

有沒有方法「toObject」這顯示一切它顯示的是 – Nilesh