一、默认参数

  1. const mongoose = require('mongoose')
  2. mongoose.connect(
  3. 'mongodb://127.0.0.1:27017/eggcms',
  4. { useUnifiedTopology: true, useNewUrlParser: true },
  5. (err) => {
  6. if (err) return console.log(err)
  7. console.log('数据库连接成功')
  8. }
  9. )
  10. // 定义Schema
  11. var UserSchema = mongoose.Schema({
  12. name: String,
  13. age: Number,
  14. status: {
  15. type: Number,
  16. default: 1 // 默认参数
  17. }
  18. })
  19. // 定义model操作数据库
  20. var UserSchema = mongoose.model('User', UserSchema, 'users')
  21. // 增加数据(当不写status时,默认增加 status: 1 )
  22. var User = new UserModel({
  23. name: 'zs',
  24. age: 18
  25. })
  26. User.save((err) => {
  27. if (err) return console.log(err)
  28. console.log('数据库连接成功')
  29. })

二、模块化

1.在根目录下新建文件夹model,然后在model中新建db.js

  1. /* db.js */
  2. var mongoose = require('mongoose')
  3. mongoose.connect(
  4. 'mongodb://127.0.0.1:27017/eggcms',
  5. { useUnifiedTopology: true, useNewUrlParser: true },
  6. (err) => {
  7. if (err) return console.log(err)
  8. console.log('数据库连接成功')
  9. }
  10. )
  11. module.exports = mongoose

2.在model中新建user.js

  1. /* user.js */
  2. var mongoose = require('mongoose')
  3. var UserSchema = mongoose.Schema({
  4. name: String,
  5. age: Number,
  6. status: {
  7. type: Number,
  8. default: 1 // 默认参数
  9. }
  10. })
  11. module.exports = mongoose.model('User', UserSchema, 'users')

3.在model中再新建一个news.js

  1. /* news.js */
  2. var mongoose = require('mongoose')
  3. var NewsSchema = mongoose.Schema({
  4. title: String,
  5. author: String,
  6. pic: String,
  7. content: String,
  8. status: {
  9. type: Number,
  10. default: 1 // 默认参数
  11. }
  12. })
  13. module.exports = mongoose.model('News', NewsSchema, 'news')

4.在app.js中引入user.js与news.js,并且操作数据库

  1. /* app.js */
  2. var UserModel = require('./model/user')
  3. var NewsModel = require('./model/news')
  4. // 查询用户信息
  5. UserModel.find({}, (err, res) => {
  6. if (err) return console.log(err)
  7. console.log(res)
  8. })
  9. // 新增新闻
  10. var news = new NewsModel({
  11. title: '我是标题',
  12. author: '尼古拉斯',
  13. pic: '123.png',
  14. content: '我是新闻的内容'
  15. })
  16. news.save((err) => {
  17. if (err) return console.log(err)
  18. console.log('新增成功')
  19. })