Introduction
Use express as server and provide callable api
module used
express (nodejs framework)
mongoose (easy to interact with mongod)
Directory Structure
--models // database models
----test.js
--routes // request routes
----users.js
--schemas // database schema
----test.js
--server.js // server entry
schemas/test.js file
var mongoose = require('mongoose'); // import datapath module var testSchema = new mongoose.Schema({ // define the storage data structure aaa: String, bbb: Number, ccc: { body: String, date: { type: Date, default: Date.now() } }, ddd: Boolean }); testSchema.statics = { // public methods of testSchema fetch: function(cb) { // find everything in ascending order of bbb return this.find({}).sort('bbb').exec(cb); }, findById: function(id, cb) { // Find the specified content by _id return this.findOne({_id:id}).exec(cb); } }; module.exports = testSchema; // export the module
models/test.js file
var mongoose = require('mongoose'); // import database module var testSchema = require('../schemas/test'); // import defined data schema var testdb = mongoose.model('testdb',testSchema); // create data module module.exports = testdb; // export data module
routes/test.js file
var express = require('express'); // import the express module var router = express.Router(); // Get a router instance var Mongodb = require('../models/test'); // import data module router.get('/find', function(req, res){ // Find all data routes /api/find Mongodb.fetch(function(err, objs){ if (err) { res.json({ "flag" : "find", "error" : err }); } else { res.json({ "objs" : objs }); } }); }); router.get('/add',function(req, res){ // route to add data /api/add?aaa=123&bbb=321 var aaa = req.query.aaa; var bbb = req.query.bbb; var test = new Mongodb ({ aaa : "aaa", bbb : 123, ddd : true }); test.save(function(err){ if (err) { res.json({ "flag" : "save", "error": err }); } else { res.json({ "flag" : "save" }); } }); }); module.exports = router; // export the module
server.js file
var express = require('express'); // import the express module var port = process.env.PORT || 9527; // Modify the default port number to 9527 var mongoose = require('mongoose'); // import database module var server = express(); // create a service object var routes = require('./server/routes/test'); // import routing module mongoose.connect('mongodb://localhost/testdb'); // connect to the database server.use('/api',routes); // set routes server.listen(port); // listen port number console.log("start server! "+port);After writing according to the above content, you can start and test
@root$:mongod // start the database
@root$:node server.js // start the service project
Add data to server: http://localhost:9527/api/add?aaa=123&bbb=321
Get data from server: http://localhost:9527/api/find