使用webix显示来自mongodb的数据

时间:2017-03-23 14:13:14

标签: node.js mongodb webix

我是javascript的新手,我想使用webix。 我看到了开始,它很好......

所以,我的问题是我无法显示来自mongodb的数据。

这是我的server.js

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');

//connect to the mongo
var db = require('mongoskin').db("mongodb://localhost:27017/test", { w: 0});
db.bind('sites');

//create the app instance
var app = express();
//serve static files
app.use(express.static(path.join(__dirname, 'public')));
//parse POST data
app.use(bodyParser.urlencoded({ extended: false }));
// // parse application/json
 app.use(bodyParser.json());

function after_update(err, res, record){
  if (err){
    res.status(500);
    res.send({ error:err.toString() });
  } else {
    res.send(record || {});
  }
}

//data loading
app.get('/data', function(req, res){
  db.record.find().toArray(function(err, data){
    for (var i = 0; i < data.length; i++){
      data[i].id = data[i]._id;
      delete data[i]._id;
    }

    res.send(data);
  });
});

app.post('/data', function(req, res){
  db.record.insert(req.body, function(err, record){
    if (err) return res.send({ status:"error" });
    res.send({ newid:req.body._id });
  });
});
app.put('/data/:id', function(req, res){
  db.record.updateById(req.param("id"), req.body, function(err){
    if (err) return res.send({ status:"error" });
    res.send({});
  });
});
app.delete('/data/:id', function(req, res){
  db.record.removeById(req.param("id"), req.body, function(err){
    if (err) return res.send({ status:"error" });
    res.send({});
  });
});

app.listen(3000);

我正在使用index.html来显示数据。这太糟糕了。 我的问题是我无法找到正确的方式从mongodb中的表中获取数据。 我想在我的数据库中显示汽车。

谁有一个可以提供帮助的例子?

有人可以帮忙吗? 谢谢

2 个答案:

答案 0 :(得分:0)

尝试在浏览器中加载“/ data”。如果它显示有效的JSON,请检查数据表的客户端代码,它必须类似于

{ view:"datatable", autoConfig:true, url:"/data" }

答案 1 :(得分:0)

我在您的代码中看到2个问题(我猜您的收藏品是“汽车”因为您的文字):

  1. 你绑定了一个不同于“汽车”的集合,在“db.bind('sites');”行中。您应该更改“db.bind('cars');”

  2. 您正在使用集合“record”来检索和写入数据,在句子“db.record.find”,“db.record.insert”,“db.record.updateById”< / em>和“db.record.removeById”。您应该更改“db.cars.find”,“db.cars.insert”,“db.cars.updateById”“db.cars.removeById”

  3. 干杯。