2017-04-20 11 views
1

私は問題があり、本当に助けを必要とします。 MySQLを使用するアプリケーションがありましたが、私たちはMongoDBに切り替えています。 私たちは、ExpressでのNode.jsを使って、データベースマングースが接続されていますが、データが見つかりません

ためにMongoDBとマングースを持っている私たちは、MongoDBのとマングースのドキュメントを見て、スタックオーバーフローに関連する質問を探しますが、私たちは何かが欠けているように見えてきました。

これは、我々がapp.jsに持っているものです。

var mongo = require('mongodb'); 
var mongoose = require('mongoose'); 
var db = mongoose.connect('mongodb://localhost:27017/DBName'); 

これが私たちのusersModel.js

var db   = require('mongoose'); 
var Schema  = db.Schema; 

var userSchema = new Schema({ 
    u_id :      Number, 
    u_name :     { type: String, required: true }, 
    u_lastname :    String 
}); 

module.exports = db.model('user', userSchema); 

であり、これは我々がUserControllerでで使用するものです。

var User  = require('../models/usersModel'); 

User.find({}, function(err, users) { 
    if (err) throw err; 

    console.log("Found users: ", users); 
}); 

console.log(db.connection.readyState);それが接続していると言います。 そして、User.find()はエラーを出すようではなく、代わりに空の配列/ undefinedを与えます。

私たちが見落としていることを誰かが教えていただけたら、本当にありがたいです。

ありがとうございます。

+0

空の配列ですか、それとも未定義ですか? –

+0

あなたのドキュメントは 'users'コレクションにありますか? https://stackoverflow.com/questions/14183611/mongoose-always-returning-an-empty-array-nodejsの可能な相違点 – JohnnyHK

答えて

0

iuliu.net:最初のエラーは[]で、2番目のエラーは両方とも不定です。

JohnnyHK:送信していただきありがとうございますが、ユーザーのコレクションがこのデータベースにあり、検索したプロパティが存在することが確認されています。

Juuso:あなたのご意見をお寄せいただきありがとうございますが、mongo端末ではコレクションの出力があります。

私たちが修道院でこれを試してみると、批判的な質問がありました。我々 monkがインストールされており、データベース、コレクションを見つけて 結果を返します。私たちはモンゴースの問題が何であったかまだ分かりませんが、 ですが、モンクとはそれが動作します。

ご意見ありがとうございます。

0

あなたのfind()呼び出しがうまく見えます。

あなたのコレクションにはユーザーがいますか?新しいユーザーを作成すると、気づかなかったエラーがスローされますか?端末を開いて、実際にあなたのコレクションにユーザーがいることを確認できます。

> mongo 
> use DBName 
> show collections 
> db.user.find() 

これで、存在するすべてのユーザーが返されます。

関連する問題