mongoose入门及基本的增删改查

迈不过友情╰ 2021-07-26 01:17 578阅读 0赞

在test_mongoose目录下执行以下生成package.json文件

  1. npm init --yes

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70

并在当前目录下安装mongoose,执行命令:

  1. npm i mongoose -S

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 1

然后使用win+R,输入cmd回车,在dos窗口中,【使用命令mongo启动数据库】-【新建testdb数据库】-【新建users集合并插入一条记录】,如下所示:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 2

接下来在test_mongoose文件夹中新建js文件:mongooseDemo.js,其内容如下所示:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 3

不用管{useNewUrlParser:true}是什么意思,反正加上就行。不加的话会有警告信息

  1. const mongoose = require('mongoose')
  2. mongoose.connect("mongodb://127.0.0.1:27017/testdb", {useNewUrlParser:true},function (err) {
  3. if (err) {
  4. console.log(err)
  5. return
  6. }
  7. console.log("数据库连接成功!")
  8. })

在test_mongoose目录中执行命令:node ./mongooseDemo.js 来运行mongooseDemo.js文件,以测试数据库连接是否成功

20210301141124953.png

20210301140846263.png

出现以上界面,就表示数据库连接成功了!

查询记录:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 4

  1. const mongoose = require('mongoose')
  2. mongoose.connect("mongodb://127.0.0.1:27017/testdb")
  3. var UserSchema = mongoose.Schema({
  4. name: String,
  5. age: Number,
  6. status:Number
  7. })
  8. var User = mongoose.model('User', UserSchema)//注意,当这里是两个参数时,默认连接的是users表,而不是User表。连接的是复数。
  9. User.find({}, function (err, doc) {
  10. if (err) {
  11. console.log(err)
  12. return
  13. }
  14. console.log(doc)
  15. })

注意:var User = mongoose.model(‘User’, UserSchema)中,当这里是两个参数时,默认连接的是users表,而不是User表。如果想指定表,则在第三个参数的位置处添加表名即可,这行代码等价于:var User = mongoose.model(‘User’, UserSchema,’users’)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 5

出现以上界面表示数据库连接成功,并且成功查询出了数据!

增加记录

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 6

  1. const mongoose = require('mongoose')
  2. mongoose.connect("mongodb://127.0.0.1:27017/testdb")
  3. var UserSchema = mongoose.Schema({
  4. name: String,
  5. age: Number,
  6. status:Number
  7. })
  8. var User = mongoose.model('User', UserSchema,'users')
  9. var u = new User({
  10. name: '王五',
  11. age: 22,
  12. status:0
  13. })
  14. u.save(function (err, doc) {
  15. if (err) {
  16. console.log(err)
  17. return
  18. }
  19. console.log("成功:",doc)
  20. })

使用命令Ctrl+C退出命令行,并再次运行mongooseDemo.js文件

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 7

20210301112453546.png

记录添加成功!

如果希望添加的记录带有默认值,在定义Schema时可使用如下形式:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 8

更新记录

name:”王五”的记录改为name:”wangwu”

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 9

  1. const mongoose = require('mongoose')
  2. mongoose.connect("mongodb://127.0.0.1:27017/testdb")
  3. var UserSchema = mongoose.Schema({
  4. name: String,
  5. age: Number,
  6. status:Number
  7. })
  8. var User = mongoose.model('User', UserSchema,'users')
  9. User.updateOne({ name: "王五" }, { name: "wangwu" }, function (err, res) {
  10. if (err) {
  11. console.log(err)
  12. return
  13. }
  14. console.log("更新成功:",res)
  15. })

20210301112702688.png

20210301112750730.png

删除记录

删除name:”zhangsan”这条记录

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMzIzMjU2_size_16_color_FFFFFF_t_70 10

  1. const mongoose = require('mongoose')
  2. mongoose.connect("mongodb://127.0.0.1:27017/testdb")
  3. var UserSchema = mongoose.Schema({
  4. name: String,
  5. age: Number,
  6. status:Number
  7. })
  8. var User = mongoose.model('User', UserSchema,'users')
  9. User.deleteOne({ name: 'zhangsan' }, function (err, res) {
  10. if (err) {
  11. console.log(err)
  12. return
  13. }
  14. console.log("删除成功:",res)
  15. })

20210301113351845.png

20210301113440492.png

发表评论

表情:
评论列表 (有 0 条评论,578人围观)

还没有评论,来说两句吧...

相关阅读