文档的插入

简介: MongoDB支持单条及批量插入文档。使用insert()或insertMany()向集合添加数据,未指定_id时自动生成,支持NumberInt、new Date()等类型处理。集合不存在会自动创建,键不可重复,需遵循命名规范,批量插入失败不回滚已成功数据,建议用try-catch捕获异常。(239字)

(1)单个文档插入
使用insert() 或 save() 方法向集合中插入文档,语法如下:
db.collection.insert(

,
{
writeConcern: ,
ordered:
}
)
【示例】
要向comment的集合(表)中插入一条测试数据:
db.comment.insert(
{
"articleid":"100000",
"content":"今天天气真好,阳光明媚",
"userid":"1001",
"nickname":"Rose",
"createdatetime":new Date(),
"likenum":NumberInt(10),
"state":null
}
)
提示:
1)comment集合如果不存在,则会隐式创建
2)mongo中的数字,默认情况下是double类型,如果要存整型,必须使用函数NumberInt(整型数字),否则取出来就有问题了。
3)插入当前日期使用 new Date()
4)插入的数据没有指定 _id ,会自动生成主键值
5)如果某字段没值,可以赋值为null,或不写该字段。
执行后,如下,说明插入一个数据成功了。
WriteResult({ "nInserted" : 1 })
注意:

  1. 文档中的键/值对是有序的。
  2. 文档中的值不仅可以是在双引号里面的字符串,还可以是其他数据类型(甚至可以是整个嵌入文档)。
  3. MongoDB区分类型和大小写。
  4. MongoDB的文档不能有重复的键。
  5. 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
    文档键命名规范:
    ● 键不能含有\0 (空字符)。这个字符用来表示键的结尾。
    ● .和$有特别的意义,只有在特定环境下才能使用。
    ● 以下划线"_"开头的键是保留的(不是严格要求的)。
    (2)批量插入
    语法:
    db.collection.insertMany(
    [ , , ... ],
    {
    writeConcern: ,
    ordered:
    }
    )
    【示例】
    批量插入多条文章评论:
    db.comment.insertMany(
    [
    {"_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机上,健康很重要,一杯温水幸福你我
    他。","userid":"1002","nickname":"相忘于江湖","createdatetime":new Date("2019-08-
    05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1"},
    {"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1005","nickname":"伊人憔
    悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"},
    {"_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都喝。","userid":"1004","nickname":"杰克船
    长","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"},
    {"_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健康。","userid":"1003","nickname":"凯
    撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"},
    {"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫
    嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-
    06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
    ]
    );
    提示: 插入时指定了_id ,则主键就是该值。 如果某条数据插入失败,将会终止插入,但已经插入成功的数据不会回滚掉。 因为批量插入由于数据较多容易出现失败,因此,可以使用try catch进行异常捕捉处理,测试的时候可以不处理。如(了解):
    try {
    db.comment.insertMany([
    {"_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机","userid":"1002","nickname":"相忘于江湖","createdatetime":new Date("2019-08-
    05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1"},
    {"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开水","userid":"1005","nickname":"伊人憔
    悴","createdatetime":new Date("2019-08-05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"},
    {"_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都喝。","userid":"1004","nickname":"杰克船
    长","createdatetime":new Date("2019-08-06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"},
    {"_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健康。","userid":"1003","nickname":"凯
    撒","createdatetime":new Date("2019-08-06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"},
    {"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫
    嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-
    06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
    ]);
    } catch (e) {
    print (e);
    }
相关文章
|
1月前
|
分布式计算 监控 API
DMS Airflow:企业级数据工作流编排平台的专业实践
DMS Airflow 是基于 Apache Airflow 构建的企业级数据工作流编排平台,通过深度集成阿里云 DMS(Data Management Service)系统的各项能力,为数据团队提供了强大的工作流调度、监控和管理能力。本文将从 Airflow 的高级编排能力、DMS 集成的特殊能力,以及 DMS Airflow 的使用示例三个方面,全面介绍 DMS Airflow 的技术架构与实践应用。
|
19小时前
|
人工智能 自然语言处理 安全
MCP的核心组件
MCP采用客户端-服务器架构,由MCP主机、客户端和服务器组成。主机承载AI智能体并发起请求;客户端负责请求标准化与安全通信;服务器提供数据、工具和提示,支持AI实时访问外部资源与服务,实现高效交互。
|
19小时前
|
文字识别 安全 数据处理
RAG分块应用中普遍存在的问题
RAG系统面临准确性、召回率与复杂文档解析三大挑战:模型易产生幻觉、检索噪声干扰、细粒度理解不足;语义匹配局限导致漏检,长尾知识覆盖差,多跳推理困难;表格、公式、图片等非结构化数据处理难,上下文割裂、逻辑结构丢失。合理分块策略是破局关键。
|
19小时前
基于LLM的分块
基于大语言模型(LLM)的智能分块技术,利用LLM语义理解能力,将非结构化文本按主题动态划分为语义连贯的文本块,适用于会议纪要、社交媒体等内容。虽分块质量高、适应性强,但计算成本高、可解释性差,依赖模型性能。
|
19小时前
|
人工智能 安全
MCP是什么?为何被称为AI时代的“USB-C”
MCP(模型上下文协议)是AI领域的“通用接口”,像USB-C一样让大模型便捷连接数据源与工具。它通过标准化上下文传递,实现信息互通与任务协同,确保每次调用都具备数据血统、策略与出处管理,推动AI无缝交互与安全可控运行。
|
19小时前
|
存储 人工智能 JSON
MCP工作的基本原理
MCP通过动态上下文窗口、多步骤工作流程支持与高效通信协议,实现智能、连贯的AI交互。动态窗口随对话扩展,记忆用户偏好与历史,压缩非关键信息;智能体可追踪操作、调整策略并自我优化,完成复杂任务;采用JSON-RPC 2.0协议,支持Stdio、HTTP+SSE及未来WebSocket,保障本地与网络环境下的高效通信,适用于客服、远程服务等多场景应用。
|
19小时前
|
XML 安全 数据格式
RAG面临的挑战与前沿探索
当前RAG面临知识关联缺失、推理与检索割裂、多模态理解弱、可信度难量化及长上下文建模难等深层问题。前沿探索聚焦检索增强、生成控制与优化分块,通过混合检索、查询扩展、递归推理、强制引用、语义分块等技术,推动RAG向动态交互、可解释、高可信方向演进。(238字)
|
19小时前
|
存储 人工智能 数据挖掘
MCP应用场景示例
MCP赋能智能数据分析与办公自动化:分析师输入需求,AI即连多源数据生成报告;办公助手通过MCP获取会议记录、整理并邮件分发,实现高效协同。
|
19小时前
|
人工智能 安全 API
MCP对大模型应用落地的价值
MCP构建了AI应用中本地与远程服务通信的标准桥梁,通过统一接口简化集成、扩展任务处理能力,并增强安全合规性,助力AI高效、安全完成复杂任务。
|
19小时前
|
人工智能 缓存 自然语言处理
大模型推理与应用术语解释
本系列介绍了大语言模型核心技术:推理实现高效生成,生成式AI创造多样化内容,检索增强生成提升准确性,提示工程优化输入引导,上下文学习实现零样本迁移,代理构建自主智能体,多模态学习融合多种数据形式,语义搜索理解深层意图。这些技术共同推动AI向更智能、更实用演进,广泛应用于内容生成、知识服务与自动化系统,成为现代人工智能发展的核心驱动力。(238字)