mongo+mongoose+express

  直接上指令:

    //*代表自定义名字
    //使用数据库
    use *
    //检查当前数据库
    db
    //查询数据库列表
    show dbs
    //查询当前数据库集合
    show collections
    //插入文档自动创建集合
    db.*.insert({'name':'jimmy'})
    //删除集合
    db.*.drop()
    //查询文档
    db.*.find()
    //格式化显示结果
    db.*.find().pretty()
    //更改文档
    db.*.update('','')
    //替换文档
    db.*.save({_id:ObjectId(),''})
    //删除文档
    db.*.remove('')

   花了我一早上,整出来了。直接上代码:

var mongoose = require("mongoose");
//连接数据库
//mongod -dbpath "F:Data\db"
mongoose.connect("mongodb://localhost:27017/test");
//监听连接事件
var db = mongoose.connection;
//失败时的回调
db.on('error', console.error.bind(console, 'connection failed'));
//成功时的回调函数
db.once('open', function(callback) {
    //生成表
    var kittySchema = mongoose.Schema({
        username: { type: String, required: true, unique: true },
    });
    //相当于原型方法吧
    kittySchema.methods.speak = function() {
        var greeting = this.name ? "Meow name is " + this.name :
            "I don't have a name";
        console.log(greeting);
    };
    //将表转换为模型 这里会自动加上s
    var Kitten = mongoose.model('Kitten', kittySchema);
    //加入数据
    var fluffy = new Kitten({ name: 'fluffy' });
    //这一步超级重要!!!!
    //把数据存入数据库
    fluffy.save(function(err, fluffy) {
        if (err) {
            return console.error(err);
        }
    });
    //这一步主要展示数据
    Kitten.find(function(err, kittens) {
        if (err) {
            return console.error(err);
        }
        console.log(kittens);
    });
});

  然后,这里是手动查询得到的结果:

  哈哈哈哈,数据存储成功,可以开始搞事情了。

  

  设计一个数据库接口,直接上代码。

var mongoose = require('mongoose');
mongoose.connect("mongodb://localhost:27017/teacher");
//监听连接事件
var db = mongoose.connection;
//失败时的回调
db.on('error', console.error.bind(console, 'connection failed'));
//生成表
var teacherSchema = mongoose.Schema({
    name: { type: String, required: true, unique: true },
    nickname: { type: String, required: true },
    age: { type: Number, required: true },
    sex: { type: String, required: true },
    tel: { type: Number, required: true },
    id: { type: Number, required: true, unique: true },
});

var t = mongoose.model('t', teacherSchema);
//添加数据
function add(obj) {
    var data = new t({
        name: obj.name,
        nickname: obj.name,
        age: obj.age,
        sex: obj.sex,
        tel: obj.tel,
        id: obj.id
    });
    data.save((err, data) => {
        if (err) {
            return console.log(err);
        }
    });
}
//查询数据
function find() {
    return t.find((err, data) => {
        if (err) {
            return console.log(err);
        }
        return data
    });
}
//删除数据 暂未实现
function del() {

}
//暴露接口
module.exports = {
    add: add,
    find: find,
    del: del
}

  这是路由部分进行调用的代码:

var db = require('./database');

db.add({
    'name': '赵玉川',
    'nickname': '布头儿',
    'age': 28,
    'sex': '男',
    'tel': '15901256171',
    'id': 0
});

  然后结果如下:

 

  为什么要自动加上s呢??

posted @ 2017-03-08 10:56  书生小龙  阅读(544)  评论(0编辑  收藏  举报