MongoDB笔记
mongodb入门
安装
详见官网
启动
- 启动服务器
mongod --dbpath=数据存放路径//需要切换到安装目录的bin目录下 - 启动客户端
输入mongo进入命令行//需要切换到安装目录的bin目录下
基本操作(shell)
show dbs // 显示所有的数据库
db // 查看当前的数据库
use 数据库名 // 新建或使用数据库
show collections // 显示当前数据库的集合
db.集合名.find() // 显示当前集合中的所有数据
db.集合名.insert(json数据) // 往集合中插入数据
db.dropDatabase() // 删除当前数据库
db.集合名.drop() // 删除当前集合
db.集合名.update(...) // 修改数据
db.集合名.createIndex() // 创建索引
mongonimport -db 数据库名 --colltion 集合名 --drop --file 文件名
node连接(mongoose)
- mongoose相关名词
- Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
- Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
- Entity : 由Model创建的实体,他的操作也会影响数据库
- 快速开始
mongoose = require('mongoose');
// 创建一个数据库连接
mongoose.connect('mongodb://localhost/url_record');
// 创建连接
const db = mongoose.connection;
// 连接错误处理
db.on('error', console.error.bind(console, 'connection error:'));
// 连接成功后的处理
db.once('open', function(callback) {
// 创建一只小猫原型(schema),用来定义数据库结构
var kittySchema = mongoose.Schema({
name: String
});
// 给schema添加方法必须放在shema编译成model之前
kittySchema.methods.speak = function() {
//var greeting = this.name? "名字是" + this.name: "没有名字";
}
// 将小猫schema编译成model
var Kitten = mongoose.model('Kitten', kittySchema);
// 实例化一只fluffy小猫
var fluffy = new Kitten({ name: 'fluffy' });
// 保存数据
fluffy.save(function(err, fluffy) {
if (err) return console.error(err);
fluffy.speak();
});
});
GUI客户端
- MongoChef Core