Learn how to import data into your MongoDB and then use Express to serve a simple Node.js API.
Import data into MongoDB:
For exmaple, you have an data.json file and contains some data.
1. Start Mongod service:
//in the cmd
$ mongod
2. Open a new Tab, import the data:
mongoimport --db simple --collection people --jsonArray data.json
Import data.json file (a json array file), set database as simple, name it as people collection.
Read More: http://docs.mongodb.org/manual/reference/program/mongoimport/
You can play around with those data:
// in cmd $ mongo
Enter the mongodb cmd-clinet.
Find the data:
db.simple.find();
db.simple.findOne();
Remove data:
db.simple.remove()
Set up Server:
npm install -S express mongoose cors
Server.js:
/**
* Created by Answer1215 on 12/9/2014.
*/
'use strict'; var expres = require('express');
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/simple');
var cors = require("cors"); var personSchema = {
firstName:String,
lastName:String,
email:String
}; //create a person model, and rename db as people
var Person = mongoose.model('Person', personSchema, 'people');
var app = expres();
app.use(cors()); app.get('/people', function(request, response){
Person.find(function(err, data) {
response.json(200, data);
})
}); app.listen(3000);
app.js:
/**
* Created by Answer1215 on 12/9/2014.
*/
'use strict'; function MainCtrl(PeopleService) {
var vm = this;
vm.people = []; vm.getPeople = PeopleService.getPeople().then(function(response) {
vm.people = response.data;
});
} function PeopleService($http) { var PeopleService = {};
PeopleService.getPeople = function() {
return $http.get('http://localhost:3000/people');
} return PeopleService;
} angular.module('app',[])
.controller('MainCtrl', MainCtrl)
.service('PeopleService', PeopleService);
index.html:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body ng-app="app"> <div ng-controller="MainCtrl as vm">
<ul>
<li ng-repeat="person in vm.people">{{person.firstName}}</li>
</ul>
</div> <script src="bower_components/angular/angular.min.js"></script>
<script src="app.js"></script>
</body>
</html>