MongoDB--重拾MongoDB

来源:互联网 发布:sharpdevelop 源码 编辑:程序博客网 时间:2024/05/17 02:30

首先安装

这个不说了,前面有好几篇博文都是写这个的。
需要node环境,和npm mongoose

创建数据库

以下实例我们创建了数据库 runoob:

命令行创建

> use runoobswitched to db runoob> dbrunoob> 

如果你想查看所有数据库,可以使用 show dbs 命令:

> show dbslocal  0.078GBtest   0.078GB> 

可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。

> db.runoob.insert({"name":"菜鸟教程"})WriteResult({ "nInserted" : 1 })> show dbslocal   0.078GBrunoob  0.078GBtest    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
看了这个之后,就有感觉了,总算明白这三项是怎么回事了

0 0