首页 > 代码库 > [MEAN Stack] First API with Node.js, Express and MongoDB

[MEAN Stack] First API with Node.js, Express and MongoDB

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 peoplevar 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>

 

[MEAN Stack] First API with Node.js, Express and MongoDB