2017-09-25 10 views
0

私はノードv6.11.2を実行しています。私のMongoDBはバージョン3.4.7です。 私はいくつかのユーザーがpassportjsとexpress-sessionを使って登録されたMongoDBを持っています。などdisplaynames、ユーザーの好み、のようなものをレンダリングするために私はこのようなEJSを使用しています:Nodejs Expressアプリケーション - MongoDbカーソルをJSONに変換

    <p> 
         <strong>id</strong>: <%= user._id %><br> 
         <strong>email</strong>: <%= user.local.email %><br> 
         <strong>password</strong>: <%= user.local.password %><br> 
         <strong>Display name</strong>: <%= user.info.displayname %><br> 
         <strong>Subjects</strong>: <%= user.info.subjects %><br> 
        </p> 

このEJSページをレンダリングする場合、GET要求は、このようなセッションであるユーザーを参照:

user: req.user 

これは、ユーザーがログインする必要があるため、私が今しようとしていることでは機能しません。表示されたユーザーを表示できるページを表示したいと思います。 (パブリックプロファイルのように)。 私が次のコード行をスリップする(だけのテストの目的のために)試したし、私のapp.jsファイルの:

console.log(db.users.find({})); 

私はこれが私のdatabse内のすべてのオブジェクトを返すことが期待される(とそれがありません私は私のmongoシェルで(にconsole.logなし)、それを実行した場合)、その代わりに、それはこのようなカーソルを返します:私はJSONにこれを変換するにはどうすればよい

Cursor { 
    _readableState: 
    ReadableState { 
    objectMode: true, 
    highWaterMark: 0, 
    buffer: BufferList { head: null, tail: null, length: 0 }, 
    length: 0, 
    pipes: null, 
    pipesCount: 0, 
    flowing: null, 
    ended: false, 
    endEmitted: false, 
    reading: false, 
    sync: true, 
    needReadable: false, 
    emittedReadable: false, 
    readableListening: false, 
    resumeScheduled: false, 
    defaultEncoding: 'utf8', 
    ranOut: false, 
    awaitDrain: 0, 
    readingMore: false, 
    decoder: null, 
    encoding: null }, 
    readable: true, 
    domain: null, 
    _events: {}, 
    _eventsCount: 0, 
    _maxListeners: undefined, 
    _opts: {}, 
    _get: [Function: thunk] } 

を? ご協力いただきありがとうございます。

答えて

0

次のように私はそれを修正:私は私のget要求に数行のコードを追加しました:答えのための

<% users.forEach(function (user) { %>  
    <p><%= user.info.displayname %></p> 
     <p><%= user.info.subjects %></p>          
<% }) %> 
0

db.users.find({}).toArray()toArray()メソッドを使用します。これにより、カーソルではなくユーザのリストが返されます。

+0

感謝を:

User.find({}).exec(function(err, users) { if (err) throw err; res.render('mentors.ejs', { 'users': users }) 

次のように私は、JSONにアクセスすることができましたしかし、私はそれを自分で考え出しました。私は質問をする前に十分に問題を調べていなかったと思います。私は自分の質問に答えます。 –

関連する問題