1 | const mongoose = require('mongoose'); |
连接数据库
mongoose.connect(uri, options);
ip:端口:数据库名1
mongoose.connect('mongodb://localhost:27017/test', {useNewUrlParser: true, useUnifiedTopology: true});
连接数据库的options
type 类型有
| leixing | zuoyong |
|---|---|
| String | 定义字符串 |
| Number | 定义数字 |
| Date | 定义时间 |
| Buffer | 定义二进制 |
| Boolean | 定义布尔值 |
| Mixed | 定义混合类型 |
| ObjectId | 定义对象ID |
| Array | 定义数组 |
| Decimal128 | 定义字符串 |
| Map | 定义字符串 |
| Schema | 定义字符串 |
定义表的结构
1 | const schema = new Schema({ |
定义之后需要添加字段 用 add()
1 | var schema = new Schema() |
保存数据
· save Model.prototype.save([options], [options.safe], [options.validateBeforeSave], [fn])
1 | let scoreModel = mongoose.model('score',schema) |
. create Model.create(doc(s), [callback])
1 | let scoreModel = mongoose.model('score',schema) |
.insertMany
1 | let scoreModel = mongoose.model('score',schema) |
查询数据
- Model.find(conditions, [projection], [options], [callback]);
1 | scoreModel.find({name:/cd/},{name:1},(err,docs)=>{ |
Model.findById(id, [projection], [options], [callback])
1
2
3
4
5
6
7scoreModel.find({name:/cd/},{name:1},(err,docs)=>{
if (!err) {
console.log(docs,'?????')
}else{
console.log(err)
}
})$where 可以使用任意的 JavaScript 作为查询的一部分,包含JavaScript 表达式的字符串或者函数
1
2
3
4
5scoreModel.find({$where:"this.name == obj.name" || "this..score == obj.score"},(err,doc) => {
if(!err){
console.log(doc)
}
})