我将详细讲解 "Mongodb 数据类型及 Mongoose 常用 CURD"。
Mongodb 数据类型
Mongodb 是一种非关系型数据库管理系统,它支持以下几种数据类型:
1. 字符串数据类型
字符串数据类型是 Mongodb 中最常用的数据类型之一,可以表示任意长度的 UTF-8 字符串,使用前后双引号表示。例如:
"hello, world"
2. 数值类型
Mongodb 支持数值类型,包括整数和浮点数。整数在 Mongodb 中被存储为 64 位整数或 32 位整数。浮点数在 Mongodb 中被存储为 64 位浮点数。例如:
123
3.14
3. 日期类型
日期类型表示一个日期或时间戳,它以特殊的 BSON 数据格式存储。例如:
ISODate("2021-10-01T00:00:00Z")
4. 布尔类型
布尔类型表示 true 或 false,它以特殊的 BSON 数据格式存储。例如:
true
false
5. 数组类型
数组类型表示一个值的有序集合,其中每个元素可以是不同类型的值。例如:
["apple", "banana", "orange"]
6. 对象类型
对象类型表示一个键值对的集合,其中每个键唯一、不可重复,并且每个键都关联一个值。例如:
{"name": "张三", "age": 18}
7. Null 类型
Null 类型表示一个空值,它以特殊的 BSON 数据格式存储。例如:
null
8. ObjectID 类型
ObjectID 类型是 Mongodb 中的一个特殊数据类型,它是一个 12 字节的 BSON 类型,用于存储文档的唯一标识符。例如:
ObjectId("6186b96a5beb29aaedd860c8")
Mongoose 常用 CURD
Mongoose 是一个基于 Node.js 的 MongoDB 建模工具,它提供了简单的模式设计、查询构建和数据验证等功能。
下面是 Mongoose 常用 CURD 的示例:
1. 创建文档
使用 Model 的 create
方法可以创建一个新的文档,例如:
// 引入 mongoose
const mongoose = require('mongoose');
// 连接 MongoDB 数据库
mongoose.connect('mongodb://localhost/test', {
useUnifiedTopology: true,
useNewUrlParser: true
});
// 定义用户 Schema
const userSchema = new mongoose.Schema({
name: String,
age: Number
});
// 定义用户 Model
const User = mongoose.model('User', userSchema);
// 创建新的用户文档
const user = new User({name: '张三', age: 18});
// 保存用户文档到数据库
user.save().then(() => {
console.log('用户创建成功!');
});
2. 查询文档
使用 Model 的 find
方法可以查询满足条件的文档,例如:
// 查询年龄为 18 岁的用户
User.find({age: 18}).then(users => {
console.log(users);
});
3. 更新文档
使用 Model 的 updateOne
方法可以更新符合条件的第一条文档,例如:
// 将名字为张三的用户年龄更新为 20 岁
User.updateOne({name: '张三'}, {age: 20}).then(() => {
console.log('用户更新成功!');
});
4. 删除文档
使用 Model 的 deleteOne
方法可以删除符合条件的第一条文档,例如:
// 删除名字为李四的用户
User.deleteOne({name: '李四'}).then(() => {
console.log('用户删除成功!');
});
以上就是关于 Mongodb 数据类型及 Mongoose 常用 CURD 的完整攻略,希望能对你有所帮助。