2017-04-20 58 views
1

我有一個問題,真的可以使用一些幫助。 我們有一個使用MySQL的應用程序,我們正在切換到MongoDB。 我們在Express上使用Node.js,並且在數據庫中使用了MongoDB和Mongoose貓鼬已連接,但找不到數據

我們查看了MongoDB和Mongoose文檔,並在Stack Overflow上搜索了相關的問題,但我們似乎錯過了一些東西。

這是我們在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

您的文檔是否位於'用戶'集合中?可能的愚弄https://stackoverflow.com/questions/14183611/mongoose-always-returning-an-empty-array-nodejs – JohnnyHK

回答

0

at:iuliu.net:我們得到的第一個錯誤是[],第二個錯誤是undefined。

在JohnnyHK:感謝您的提交,但我們確定用戶集合位於此數據庫中,並且我們搜索的屬性存在。

在Juuso:感謝您的反饋,但在mongo終端我們獲得了收集輸出。

有人問我們一個關鍵的問題,如果我們試着用這個和尚。我們 安裝和尚,我們已經找到數據庫,收集並得到 結果回來。我們仍然不確定毛茸茸的問題是什麼, 但它和僧侶的作品。

謝謝你們的反饋和時間。

0

您發現()調用對我來說看起來很好。

您確定您的收藏中有用戶嗎?創建新用戶是否會拋出一個您沒注意到的錯誤?也許你可以驗證確有自己收藏的用戶可以通過彈出打開一個終端和寫作:

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

這將返回存在的所有用戶。