如何访问MongoDB而不是JSON文件

时间:2017-03-22 14:05:16

标签: javascript json node.js mongodb controller

我创建了一个实现JSON文件作为数据存储的小应用程序。我试图了解MEAN,所以我试图将其转换为NODE.js应用程序。

我使用mongoimport创建了一个mongoDB导入我的JSON文件。数据库在那里并连接。当我将http://localhost:3000/api/characters放入浏览器时,它会返回所有字符的JSON。 我已经构建了一个连接字符串,需要它进入我的控制器,如下所示......

// FROM node app characters.controller.js
var dbconn = require('../data/dbconnection.js');
var characterData = require('../data/characters.json');

module.exports.charactersGetAll = function(req, res) {

    var db = dbconn.get();
    var collection = db.collection('characters');

    // Get the documents from the collection
    // Need to use to Array() as its only a cursor if you don't
    collection
        .find()
        .toArray(function(err, docs) {
            console.log("Found characters!", docs);
            res
                .status(200)
                .json(docs);
        });

    //console.log('db', db);
    //console.log("GET the Characters");
    //console.log(req.query);
    res
        .status(200)
        .json(characterData);
};

module.exports.charactersGetOne = function(req, res) {
    var charId = req.params.id;
    var thisChar = characterData[charId];
    console.log("GET characterId", charId);
    res
        .status(200)
        .json(thisChar);
};

从应用程序的非NODE版本,我在main.js文件中调用JSON数据如下:

//FROM TRADITIONAL HTML/JS application

// Get JSON and callback so JSON can be stored globally
$.getJSON('people.json', callback);
// Populate faces and names in HTML
function callback(data) {
    /*optional stuff to do after success  */
    var $charNames = $('.char-names');
    var $faceImage = $('.faces');

    $.each(data, function(index, val) {
        console.log("success");
        /* iterate through array or object */
        /* .eq() method constructs new object from one element from set  */
        $charNames.eq(index).text(val.name);
        $faceImage.eq(index).attr('src', val.image);
        //Push all JSON to array
        allTheCharacters.push(val);
        allTheCharactersComp.push(val);
    });

}

我想问的是 - 有一种简单的方法可以在非NODE main.js文件中访问mongoDB而不是使用$ .getJSON方法,我将如何为节点字符添加/调整它。 controller.js

希望我有道理。对任何误解事先道歉。

0 个答案:

没有答案