2016-04-12 9 views
0

ive帆をjsに接続する方法についての様々なチュートリアルと手順を読んでください。すべてのチュートリアルでは、これを行うように指示しています。私はmongodb btwに新しいです。私は命令Mongodbを帆に接続するJS

  1. は帆-Mongoのインストールに続い

    (NPMインストール)

  2. 編集設定/接続

    mongo: { 
        adapter: 'sails-mongo', 
        host: 'localhost', 
        port: 54321, 
        database:'dbname' 
    } 
    
  3. 編集設定/ models.js

    connection:'mongo' 
    
  4. 編集私のAPI /モデル/ user.jsの中にそうlocal.js

    connections: { 
        mongodb: { 
        host  : 'localhost', 
        port  : 54321, 
        database : 'dbname' 
        } 
    } 
    

module.exports = { 
    attributes:{ 
     name: { 
     type: 'string' 
     }, 
     employedIn:{ 
     collection:'company' 
     } 
    }, 
    findUsers :function(opts,cb){ 

     Users.findOne(opts).exec(function (err, theUser) { 
     // to do 
     // i wanna show the data of the user 
     }); 
    } 

} 

は私がにconsole.log(ユーザー)を実行するが、私は列/文書を見つけるdidntのそこ。

今、mongodbからusersという名前のコレクションを取得する方法はありますか。 (SQLまたはdb.users.find()。pretty()の 'SELECT * FROM users'と同様)

+0

'console.log(Users)'ではなく 'console.log(theUser)'を試してみましたか? – dvxam

+0

しました。過小評価 – Lemon

+0

と 'err'? – dvxam

答えて

1

モデルfindまたはfindOneメソッドで検索します。新しいレコードをcreateで作成し、updateで更新し、destroyメソッドで削除します。クエリインタフェースによって公開されるメソッドがいくつかあります。実行するには、execにコールバックしてコールバックを渡す必要があります。ドキュメントはここにある:Waterline Query Interface

だから基本的にはそれだけだ。

User.create({ 
    name: 'Max Mustermann' 
}).exec(function(console.log)); 

User.find().exec(function(console.log)); 

User.create({ 
    name: 'Peter Pan' 
}).exec(function(console.log)); 

User.find().exec(console.log); 

User.findOne({ 
    where: { name: 'Max Mustermann' } 
}).exec(function(err, user) { 
    user.destroy().exec(console.log); 
}); 

あなたはあなたのモデルにカスタムfindUsers方法を必要としません。

// /api/model/User.js 
module.exports = { 
    attributes:{ 
    name: { 
     type: 'string' 
    }, 
    employedIn:{ 
     collection:'company' 
    } 
    } 
} 

あなたがテストするためにsails consoleを使用する必要があります。これはちょうど見つけることです。

+0

@Lemon:なぜあなたは答えを受け入れなかったのですか?まだ問題は残っていますか? – jelhan