首先安装
这个不说了,前面有好几篇博文都是写这个的。
需要node环境,和npm mongoose
创建数据库
以下实例我们创建了数据库 runoob:
命令行创建
> use runoob
switched to db runoob
> db
runoob
>
如果你想查看所有数据库,可以使用 show dbs 命令:
> show dbs
local 0.078GB
test 0.078GB
>
可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。
> db.runoob.insert({"name":"菜鸟教程"})
WriteResult({ "nInserted" : 1 })
> show dbs
local 0.078GB
runoob 0.078GB
test 0.078GB
>
以上这几句话是复制粘贴的教程,因为写得非常简洁又实用。
nodejs,mongoose创建
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
这样就自动有了test数据库(如果mongodb中没有test的话,会自动创建,如果有的话就不创建)
创建数据表collection
正如上面所说,可以看到,我们刚创建的数据库formlist并不在数据库的列表中, 要显示它,我们需要向 formlist 数据库插入一些数据。
用show collections可以查看数据表
关于数据表
数据表的创建也非常轻松,不需要申明create语句等(和mysql)不同。直接db.data.insert({数据})就行了
在mongoose中创建
var Content = mongoose.model('Content', {
name: String,
title: String,
id: String
});
其实这里的name,tittle也只是为了规定在写代码的时候这几个字段。其实在mongodb中,可以插入其他的都行。
就比如上图中,我插入了“test”:“1”字段,然而,我在model中并没有规定。
由此可见,model仅仅是为了规范在写代码的时候的规范,免得以后不知道这个数据表到底怎么用了。算是schema吧。
然后在node中,插入一条数据库记录:
var kitty = new Content({
name: 'Zildjian',
title: 'test',
id: 1
});
kitty.save(function(err) {
if (err) {
console.log(err);
} else {
console.log('meow');
}
});
感觉这样很规范,model-schema-entity
schema就是为了规范数据表中字段;
model可以定义一些与数据库相关的操作,例如,插入、删除、查询等;
entity就是实际操作的数据,如Kitty
看了这个之后,就有感觉了,总算明白这三项是怎么回事了