2015-08-13 2 views
0

модели/test.js:Как отправить ответ данных MongoDB от модели к app.js

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/Test'); 

var LogSchema = new mongoose.Schema({ 
    logs: String, 
    trasaction_id: String, 
    stage:String, 
    updated_at: { type: Date, default: Date.now } 
}); 

var log = mongoose.model('Log', LogSchema); 

exports.find_log = function(req,res){ 
    log.update(
    { transaction_id:req.id }, 
    { $set: { logs:req.note, stage:req.stage, transaction_id: req.id } }, 
    function(err, result) { 
     return result; 
    } 
); 
} 

app.js:

var log = require('./models/test'); 
var logdetails = log.find_log({id: "55cd20ea304efb0c3be95538",note: "Provisioning has completed, 2) IS_REACHABLE is in progress",stage: 3}); 

Ошибка: each time logdetails getting **undefined**

я набираюсь данные из mongodb, но не могут отправлять данные mongodb в файл app.js.

ответ

0
var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/Test'); 

var LogSchema = new mongoose.Schema({ 
    logs: String, 
    trasaction_id: String, 
    stage:String, 
    updated_at: { type: Date, default: Date.now } 
}); 

var log = mongoose.model('Log', LogSchema); 

exports.find_log = function(req, cb){ 
    log.update(
    { transaction_id:req.id }, 
    { $set: { logs:req.note, stage:req.stage, transaction_id: req.id } }, 
    cb 
); 
} 

//app.js:

var log = require('./models/test'); 
var logdetails = log.find_log({ 
    id: "55cd20ea304efb0c3be95538", 
    note: "Provisioning has completed, 2) IS_REACHABLE is in progress", 
    stage: 3 
}, function(err, res) { 
    console.log(res) 
}); 
+0

Спасибо за предоставление reply.But еще я получаю ** ** неопределенными при попытке console.log (logdetails) ... и когда я я делаю console.log (JSON.stringify (res)) .. получение результата результата: {"ok": 1, "nModified": 0, "n": 0} .... Я не уверен, что я делать не так. Любая помощь будет оценена по этому поводу! –

+0

'logdetails' должен быть неопределенным, это не ошибка. find_log() является асинхронным, он не имеет традиционного возвращаемого значения и, следовательно, возвращает 'undefined'. Вы должны использовать обратные вызовы, что я продемонстрировал в своем ответе. 'console.log (res)' регистрирует результат функции 'log.update', то, что вы видите, есть стандартный вывод Mongo. –

+0

Да, я следил за твоим шагом, что вы упомянули в своем ответе. Но в файле app.js, когда я делаю logdetails (function (data) {console.dir (data);}) получение ** undefined ** Я не могу напечатать полный объект любым способом. Пожалуйста, дайте мне знать, если вы Мне нужно больше деталей от меня. Спасибо –

Смежные вопросы