注册

Mongodb 数据类型及Mongoose常用CURD

我将详细讲解 "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 的完整攻略,希望能对你有所帮助。