MongoDB的基本操作-持续更新中......

523 阅读2分钟

个人总结,欢迎补充,不对的还清指正

本文主要介绍 通过Mongoose操作MongoDB数据库,分享给使用Node的小伙伴

Mongoose基本使用

1.安装

npm install mongoose --save

2.链接

//db.js
const mongoose=require('mongoose')

//连接MongODB数据库(nodebooks为数据库名称,请自行添加用户名、密码)
mongoose.connect("mongodb://127.0.0.1/nodebooks",{useNewUrlParser:true},function(err){
			if (err) {
				console.log('连接失败')
			}else{
				console.log('连接成功')
			}
		})

3.数据建模

const mongoose=require('mongoose')

const Schema=mongoose.Schema;

const IdeaSchema=new Schema({
    user:{
        type:String, //类型
        default: 0,   //默认值
        required:true  //是否必填
    },
    data:{
        type:Date,
        default:Date.now
    }
})
//创建模型
module.exports=mongoose.model('ideas',IdeaSchema) //'ideas' 集合名字

4.引入模型,并使用

//引入数据库连接 db为 第二步 的链接的js文件
const db=require('../config/db')
//引入模型
require('./models/idea')
const idea=mongoose.model('ideas')
//查询
idea.fine({})

查询

1.查询所有结果

find()

2.指定返回那些字段和不返回那些值

// 1 表示返回该字段,0表示不返回那些字段,可单独使用
find({},{"name":0,"age":1})

3.单条件查询

// 根据 _id查询 返回所有符合条件的数组
find({_id:1})
// 根据 _id查询 返回符合条件的第一个字符集(适合唯一性查询)
findOne({_id:1})

4.多条件查询

// 根据 _id查询 返回所有符合条件的数组
find({_id:1,age:16})
// 根据 _id查询 返回符合条件的第一个字符集(适合唯一性查询)
findOne({_id:1,age:16})
```1.查询所有结果
```javascript
find()

5.或 条件查询

// 查询满足 name=xiaoming 或者 age=16任意一个即可
find({"$or": [{"name":"xiaoming"},{"age": 16}]})

6.比较条件查询

//age 大于100或者小于10的结果
find({"age":{"$gt":100,"$lt":10}})
/**
* $gt 大于
* $gte 大于等于
* $lt  小于
* $lte 小于等于
* $ne  不等于
* 
**/ 

7.包含条件查询

// 名字 满足 a, b , c 的结果
find({"name":{"$in":["a","b","c"]}})
// 名字 不满足满足 a, b , c 的结果
find({"name":{"$nin":["a","b","c"]}})

10.输出几条

find()
.limit(10)

11.从第几条输出

find()
.skip(10)

12.升、降序

//升序
find()
.sort({"_id": -1})
//降序
find()
.sort({"_id":1})

11.从第几条输出

find()
.skip(10)
```11.从第几条输出
```javascript
find()
.skip(10)

12.一共几条

find({})
.countDocuments()

//注意count已经弃用,未来可能会被删除
find({})
.count()

添加

insert({'name':1})
    .then(idea=>{
        //存储成功
    })

new Idea(str)
    .save()
    .then(ides=>{
        //存储成功
    })

更新

1.基本用法

// 第一个括号是条件,第二个括号是更新内容
update({"age": {"$gt": 10}}, {"$set": { "title": "mongodb"}})
// 如果_id 不存在 则插入,存在则更新
save({_id: 123, title: "mongodb"})