MongoDB基本增删改查

- 在Node中如何操作 MongoDB数据
 + 使用官方的 mongodb 来操作:https://github.com/mongodb/node-mongodb-native
 + 使用第三方库 mongoose:https://mongoosejs.com/
 + 安装: npm i mongoose
 + `// 引入需要的包
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true});
mongoose.Promise = global.Promise;
var Cat = mongoose.model('Cat', { name: String });
for (var i = 0; i < 10; i++) {
 var kitty = new Cat({ name: 'Zildjian' });
 kitty.save(function (err) {
  if(err) {
   console.log(err)
  } else {
   console.log('meow')
  }
 });
}`
 + MongoDB 数据库的基本概念
  + 可以有多个数据库  (MySQL叫表,,这里叫集合)
  + 一个集合中可以有多个文档(表记录)
  + 文档结构很灵活,没有任何限制
  + MongoDB 非常灵活,不需要像 MySql 一样先创建数据库、表、设计表结构
   + 在这里只需要:当你需要插入数据的时候,只需要指定哪个数据库的哪个集合操作就可以
   + 一切都由MongoDB来帮你自动完成建库建表这件事
- 官方指南
 + 设计Schema 发布Model
 + `var mongoose = require('mongoose')
 var Schema = mongoose.Schema
 // 1.连接 MongoDB 数据库,localhost代表本机数据库,
 // test是数据库的名字,它可以是还未存在的
 // 当你插入第一条数据之后就会被自动创建出来
 mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true});
 // 2.设计集合结构(表结构)
 // 字段名称就是表结构中的属性名称
 // 约束的目的是为了保证数据的完整性,不要有脏数据
 var userSchema = new Schema({
  username: {
   type: String,
   require: true    // 必须有
  },
  password: {
   type: String,
   require: true
  },
  email: {
   type: String
  }
 });
 // 3. 将文档结构发布为模型
 //     mongoose.model 方法就是用来将一个架构发布为 model
 //  第一个参数:传入一个大写名词单数字符串用来表示你的数据库名称
 //  mongoose 会自动将大写名词的字符串生成 小写复数 的集合名
 //  例如这里的User最终会变为users集合名称
 //  第二个参数:架构 Schema
 // 返回值:,模型构造函数
 var User = mongoose.model('User', userSchema)
 //4. 当我们有了模型构造函数之后,就可以使用这个构造函数对users集合中的数进行操作(增删改查)
 `
 + 增加数据
 + `var admin = new User({
 username: 'admin',
 password: '123456',
 email: '[email protected]'
})
admin.save(function (err, ret) {
 if (err) {
  console.log('保存失败')
 } else {
  console.log('保存成功')
  console.log(ret)
 }
})`

猜你喜欢

转载自www.cnblogs.com/xiaoxiaodevlog/p/10648173.html