Java多线程之join()理解

机器学习(数据集划分/准确率评估/归一化/标准化/超参数搜索和网络搜索)

  返回  

mongoose 连接数据库

2021/7/21 3:14:10 浏览:

1.连接数据库,创建数据模型

2.在数据库中写入数据

3.注册及逻辑判断

const mongoose = require('mongoose')

const url = 'mongodb://localhost:27017' // 本地默认的 mongodb 服务地址
const dbName = 'marketDB' // 数据库名称

// 以下设置,参考 https://mongoosejs.com/docs/deprecations.html#ensureIndex
// 解决提示 DeprecationWarning: collection.ensureIndex is deprecated. Use createIndexes instead.
mongoose.set('useCreateIndex', true)
// 解决提示 DeprecationWarning: Mongoose: `findOneAndUpdate()` and `findOneAndDelete()` without the `useFindAndModify` option set to false are deprecated.
mongoose.set('useFindAndModify', false)

// 开始连接
mongoose.connect(`${url}/${dbName}`, {
    useNewUrlParser: true,
    useUnifiedTopology: true
})

// 连接对象
const db = mongoose.connection

db.on('error', err => {
    console.error('mongoose connect error', err)
})
// db.once('open', () => {
//     // 用以测试数据库连接是否成功
//     console.log('mongoose connect success')
// })

/**
 * 注意:
 * 1. 此处一直保持连接状态即可,不用关闭
 * 2. 即 nodejs 和 mongodb 一直保持连接状态,而不是每次操作数据都重新连接,后者会耗费性能
 * 3. 虽然连接是异步的,但是不用等到连接成功再进行数据操作。mongoose 会帮你缓存这些操作,待连接成功之后再执行。
 */

module.exports = mongoose
const mongoose = require('../db/db')

const UserSchema = mongoose.Schema({
    username: {
        type: String,
        required: true, // 必须
        unique: true // 唯一,不重复
    },
    password: String,
}, { timestamps: true })

// 第一个参数 'user' 即自动对应到数据库 Collection
// 并且会默认用复数形式,即 users
const User = mongoose.model('user', UserSchema)

module.exports = User
const { User } = require('../../models/index')

!(async() => {
    // // 创建一个用户
    // const u1 = new User({
    //     username: 'zhangsan',
    //     password: '123'
    // })
    // u1.save() // 保存到数据库

    // // 创建一个用户
    // const u2 = new User({
    //     username: 'lisi',
    //     password: '123'
    // })
    // u2.save() // 保存到数据库

//创建一个新的用户
  // await user.create({
  //   username: 'zhangsan',
  //   password: '123'
  // })

    // 获取用户列表
    const userList = await User.find()
    console.log('userList', userList)

    // 获取单个用户
    const zhangsan = await User.findOne({ username: 'zhangsan', password: '123' })
    console.log('zhangsan', zhangsan)
})()
const router = require('koa-router')()

const {register} = require('../controller/user')

//访问路径  本地服务器地址+'/api/user'    用postman 测试
router.prefix('/api/user')



// router.get('/', function (ctx, next) {
//   ctx.body = 'this is a users response!'
// })

// router.get('/bar', function (ctx, next) {
//   ctx.body = 'this is a users/bar response'
// })

router.post('/register', async function (ctx, next) {
  const {username, password} = ctx.request.body
  try {
    const res = await register(username, password)
    ctx.body = {
      errno: 0,
      data: res
    }
  } catch (error) {
    console.error(error);
    ctx.body = {
      errno: 10001,
      message: `注册失败-${error.message}`
    }
  }
  

})


module.exports = router

联系我们

如果您对我们的服务有兴趣,请及时和我们联系!

服务热线:18288888888
座机:18288888888
传真:
邮箱:888888@qq.com
地址:郑州市文化路红专路93号