关闭

MongoDB--重拾MongoDB

标签: mongodb
153人阅读 评论(0) 收藏 举报
分类:

首先安装

这个不说了,前面有好几篇博文都是写这个的。
需要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
看了这个之后,就有感觉了,总算明白这三项是怎么回事了

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:108962次
    • 积分:2273
    • 等级:
    • 排名:第16809名
    • 原创:116篇
    • 转载:14篇
    • 译文:0篇
    • 评论:36条
    最新评论