0
mongodbから文字列値を取得して変数に格納する方法を私に教えてもらえませんか?MongoDBからのデータを変数mongooseとnode.jsに格納します
db.model("users").findOne({username: username, password: password}, {type:1},
function(err, data) {
if(err) {
return "Error";
} else if() {
return "No records";
} else {
return data.type;
}
}
);
これを実行すると型の値が取得されます。
しかし、これをこの関数外の変数にどのように保存しますか?
問題は、Database.jsファイルのgetUserType関数を呼び出すServer.jsファイルがあることです。問題は、database.jsからserver.jsへの値を取得する方法を知らないことです。 – chris
Server.jsから直接 'findOne'にコールバック関数を渡す必要があります。 MongoDBが同期していないので、あなたが示唆しているような方法で変数を渡すことは難しいです。 MongoDBはコールバックを扱うためのベストプラクティスに基づいています(つまり、呼び出される正確な場所でコールバックを 'findOne'に渡すため)、' findOne'をdatabase.jsにカプセル化しないことをお勧めします。つまり、コールバックをカプセル化し、database.jsでコールバックを渡すことで、常にコールバックをループすることができます。それは理にかなっていますか? – ghayes
それはそうです:私はちょうどサーバにfindOne関数を置き、そのように実行します。私はちょうど私がサーバーとデータベースを分離すると思ったので、すべてが少し注文されたように見えます。 – chris