Mongodb基本概念
- 可以有多个数据库 对象
- 一个数据库有多个集合(表) 数组
- 一个集合中有多个文档(表记录)对象
Mongodb的基本操作
开启
mongod
在此命令执行的文件夹下应该有这样的一个目录/data/db,因为mongodb默认此目录为自己的数据储存目录,不然会创建失败。 如果想要修改默认数据存储目录:
mongod --dbpath=数据存储目录路径
关闭
直接敲回车
连接
mongo
退出
exit
查看显示所有数据库
show dbs
显示:
admin 0.000GB
config 0.000GB
local 0.000GB
查看当前连接的数据库
db
如果第一次开启服务器,使用db,会显示test,但是show dbs不会显示test,这是因为test里面没有数据,有了数据就会显示出来。
切换到指定的数据库,创建数据库
use 数据库名
在Node中操作Mongodb数据
第三方来操作数据:mongoose 基于Mongodb的 例子:
初始化
npm init -y
安装包
npm i mongoose
const mongoose = require('mongoose');
//连接Mongodb数据库
mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true});
//创建一个模型,设计数据库
//Mongodb是动态的,非常灵活,只需要在代码中设计你的数据库即可
//mongoose这个包可以让设计的编写过程变得非常简单
//我希望生成一个表叫Cat,最终它会生成小写复数的表名
//数据库中有一个文档,文档时string类型
const Cat = mongoose.model('Cat', { name: String });
//实例化一个kitty,持久化保存它
const kitty = new Cat({ name: 'Zildjian' });
kitty.save().then(() => console.log('meow'));
输出meow
,在show dbs
后,输出
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
此时test出现。
在执行db
看当前数据连接数据库,如果不是test,就use test
使当前连接的是test,然后show collections
查看集合,输出cats
我们如果想要查询cats中的内容db.cats.find()
命令
输出{ "_id" : ObjectId("5d78dde6505bf436340861c1"), "name" : "Zildjian", "__v" : 0 }
可以插入多条信息
for(let i=0;i<100;i++)
{
let kitty = new Cat({ name: 'Zildjian' });
kitty.save().then(() => console.log('meow'));
}