MongoDB写操作详解:插入与批量处理

0 下载量 2 浏览量 更新于2024-08-30 收藏 171KB PDF 举报
“mongodb的写操作” MongoDB是一个流行的NoSQL数据库系统,以其灵活性、高性能和易用性而受到广泛欢迎。在本摘要中,我们将详细探讨如何在MongoDB中进行写操作,特别是插入数据。 首先,插入数据是通过`insert`命令完成的。在MongoDB shell中,可以使用以下命令来插入数据: ```bash > insert ``` 当插入文档时,如果未指定`_id`字段,MongoDB会自动为文档生成一个全局唯一的ObjectId作为主键,这与传统的关系型数据库中的主键概念相似。如果自行指定`_id`,则必须确保其唯一性,这是所有数据库系统中的基本要求。 在创建文档时,需要注意字段名称的限制:字段名不能包含`$`和`.`,因为这两个字符在MongoDB中具有特殊含义。例如,`$`用于引用嵌套文档的字段,而`.`用于表示嵌套的层次结构。 对于需要处理复杂插入语句的情况,MongoDB的JavaScript shell可能会显得不够方便。由于MongoDB的语法与JavaScript高度相似,因此可以编写JavaScript脚本来批量处理插入操作。你可以使用文本编辑器(如Notepad++)创建这些脚本,然后在MongoDB shell中执行它们。例如,创建一个名为`insert.js`的脚本,并将其放在MongoDB的`js`目录下,然后通过以下命令运行: ```bash > mongo localhost:27017/bios F:\mongodb\js\insert.js ``` 此外,当你尝试访问一个不存在的数据库时,你需要先使用`use`命令创建它: ```bash > use bios ``` 如果不向这个新创建的数据库中插入任何数据,MongoDB会在一段时间后自动删除它。因此,通常会插入一条简单的数据来保持数据库的存在: ```bash > db.bios.insert({a: 'a'}) ``` 查询数据则使用`find`命令,例如查找名字为“John chen”的文档: ```bash > db.bios.find({name: {first: 'John', last: 'chen'}}) ``` `insert`命令还支持批量插入多个文档。以下是一个`insert.js`示例,展示了如何一次插入多条记录: ```javascript db.bios.insert([ { _id: 3, name: { first: 'Grace', last: 'Hopper' }, title: 'Rear Admiral', birth: new Date('Dec 09, 1906'), death: new Date('Jan 01, 1992'), contribs: ['UNIVAC', 'compiler', 'FLOW-MATIC', 'COBOL'], awards: [ { award: 'Computer Sciences Man of the Year', year: 1969, by: 'Data Processing Management Association' } ] } ]); ``` 通过这种方式,你可以利用JavaScript的强大功能来编写复杂的插入逻辑,极大地提高了数据操作的效率和便捷性。