2017-03-09 23 views
0

我是新来的js。 所以,我想显示我的mongoDB表中的行。如何使用node.js显示来自mongoDB的行?

这是我的代码:

'use strict'; 
var mongoose = require('mongoose'); 
var timestamp = require('./plugins/timestamp'); 
var toString = require('./plugins/to-string'); 
var alphanumeric = require('./plugins/alphanumeric'); 

var async = require('async'); 
var moment = require('moment'); 
var S = require('string'); 
var _ = require('lodash'); 

var car = require('./car'); 


var schema = new mongoose.Schema({ 
    make: {type: String, trim: true, required: true}, 
    model: {type: String, trim: true, required: true}, 
    seats: Number, 
    plateNumber: {type: String, unique: true, trim: true, alphanumeric: true}, 
}); 

var cars = mongoose.model('car'); 

var query = car.find(null); 
query.limit(3); 


query.exec(function (err, cars { 
    if (err) { throw err; } 

    var c; 
    for (var i = 0, l = c.length; i < l; i++) { 
    c = c[i]; 
    console.log('------------------------------'); 
    console.log('ID : ' + c._id); 
    console.log('Make : ' + c.make); 
    console.log('model : ' + c.model); 
    console.log('seats : ' + c.seats); 
    console.log('------------------------------'); 
    } 
}); 

的问题,我认为,是“车”,因为我不知道如何处理使用exec()。

任何人都可以帮助我吗?

谢谢,

回答

0

模型可以通过使用回调函数或exec方法来执行。

exec也回报你的承诺。

exec

.exec(function (err, user) { 
     // 
    }); 
在你的代码

你有语法错误,因为你已经不匹配了exec方法

var query = car.find({}); 
query.limit(3); 


query.exec(function (err, cars) { 
    if (err) { throw err; } 

    for (var i=0;i< cars.length; i++) { 
     console.log('______________________________'); 
     console.log('ID : ' + cars[i]._id); 
     console.log('Make : ' + cars[i].make); 
     console.log('model : ' + cars[i].model); 
     console.log('seats : ' + cars[i].seats); 
     console.log('------------------------------'); 
    } 
}); 
+0

所以,我怎样才能改变呢?感谢您的回答 –

+0

复制我的代码并将其从'query.exec'更改为 –

+0

,你知道这是什么意思? 架构尚未注册模型“汽车”。 使用mongoose.model(名称,模式) –

相关问题