1. MongoDB 简介
MongoDB是一个开源的文档形数据库,具有高性能、可扩展性和灵活性的特点。它是面向文档存储的,使用JSON格式来存储数据,使得数据的结构非常灵活,支持非常复杂的层次结构。MongoDB是一种NoSQL数据库,没有固定的表结构,因此可以快速添加、删除、修改和查询数据。MongoDB采用分布式架构,可以水平扩展,支持级联操作。
2. MongoDB 的数据类型
2.1 基本数据类型
MongoDB支持以下的基本数据类型:
String:字符串
Number:数字,可以为整数或浮点数
Boolean:布尔值
Date:日期
Null:空值
{
"name": "John Smith",
"age": 33,
"isMarried": true,
"birthday": new Date("1988-06-30"),
"description": null
}
2.2 复合数据类型
除了基本数据类型,MongoDB还支持以下的复合数据类型:
Array:数组
Object:对象
{
"name": "John Smith",
"age": 33,
"isMarried": true,
"education": [
{"school": "Harvard", "degree": "PhD"},
{"school": "MIT", "degree": "Master"}
],
"address": {
"street": "123 Main St.",
"city": "Boston",
"state": "MA",
"zip": "01234"
}
}
3. MongoDB 的文档插入语句
要想在MongoDB中插入数据,可以使用insertOne()方法来向集合中插入一个文档,或使用insertMany()方法来向集合中插入多个文档。
3.1 插入单个文档
以下是插入单个文档的示例:
db.users.insertOne({
"name": "John Smith",
"age": 33,
"isMarried": true,
"birthday": new Date("1988-06-30"),
"description": null,
"education": [
{"school": "Harvard", "degree": "PhD"},
{"school": "MIT", "degree": "Master"}
],
"address": {
"street": "123 Main St.",
"city": "Boston",
"state": "MA",
"zip": "01234"
}
})
上面的代码将会向名为“users”的集合中插入一个文档。
3.2 插入多个文档
如果需要插入多个文档,可以使用insertMany()方法,该方法需要传入一个由文档组成的数组。
db.users.insertMany([
{
"name": "Mary Smith",
"age": 25,
"isMarried": false,
"birthday": new Date("1996-01-01"),
"description": null,
"education": [
{"school": "MIT", "degree": "PhD"}
],
"address": {
"street": "789 Main St.",
"city": "New York",
"state": "NY",
"zip": "56789"
}
},
{
"name": "Tom Jones",
"age": 40,
"isMarried": true,
"birthday": new Date("1981-09-23"),
"description": null,
"education": [
{"school": "Harvard", "degree": "Master"}
],
"address": {
"street": "456 First St.",
"city": "Chicago",
"state": "IL",
"zip": "12345"
}
}
])
上面的代码将会向名为“users”的集合中插入两个文档。
4. 生成 MongoDB 插入语句
如果需要将一个已有的文档转换为MongoDB插入语句,可以使用toInsert()方法。
const doc = {
"name": "John Smith",
"age": 33,
"isMarried": true,
"birthday": new Date("1988-06-30"),
"description": null,
"education": [
{"school": "Harvard", "degree": "PhD"},
{"school": "MIT", "degree": "Master"}
],
"address": {
"street": "123 Main St.",
"city": "Boston",
"state": "MA",
"zip": "01234"
}
};
const insertStatement = JSON.stringify(doc, null, 2);
console.log("Insert Statement: ", insertStatement);
上面的代码将会将文档转换为MongoDB插入语句,并输出到控制台。
以上就是MongoDB 数据如何生成Insert 语句的示例,希望对读者有所帮助。