初识Mongdb之数据插入篇

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 初识Mongdb之数据插入篇

目录

数据插入

数据之源

数据导入

数据插入方法

面向编程插入

命令行导入数据脚本

多个集群启动(自启动不推荐)

小故事(点击查看)



数据插入

数据之源

我们在实际的开发应用之中,数据到底从何而来,是已经准备好的数据源吗?当然不是,如果没有数据就需要你自己去收集(数据挖掘),利用爬虫来解决,最后存储到数据库(MySQL,mongdb,Redis,pandas......),充分利用这些数据库来操作数据,可以达到事半功倍的效果。

对于本专栏使用是的数据是随机生成的数据源,便于我们日常学习和入门,点击此处下载

数据导入

和MySQL一样,我们使用Navicat一样可以将CSV,TXT,Excel等类型的文件导入到我们的本地数据库,当然对于我们遇到大数据集的时候,我们可以使用分布式集群,也就是mongdb的特性,开多个数据库,集群在一起,这样达到效果。

数据插入方法

插入一条数据

// 插入一条数据
db.students.insert(doc1)
db.students.insertOne(doc1)

插入多条数据

1. // 插入多条数据
2. db.students.insert([doc1,doc2,doc3,...])
3. db.students.insertMany([doc1,doc2,doc3,...])

实战演练:搭好框架我们利用变量名来进行操作!

var wxw = {
    "name": "王小王",
    "gender": 1,
    "height": 162,
    "phone": "15902333748",
    "role": "student",
    "sno": 2019999999,
    "major": "应用统计",
    "grade": 2019,
    "class": 4,
    "courses": [
        {
            "course": "网络操作系统",
            "credit": 2,
            "score": 99
        },
        {
            "course": "大数据分析与内存计算",
            "credit": 4,
            "score": 88
        }
    ]
};
db.students.insertOne(wxw);
  • db.collection.insertOne():向指定集合中插入一条文档数据
  • db.collection.insertMany():向指定集合中插入多条文档数据

1.如果collection,不存在则创建集合,再插入

2.如果不指定_id列,会自动创建.必须保证_id唯一,否则会报错

面向编程插入

我们可以使用JavaScript的语法来进行我们的数据操作,也就是我们所说的编程

var arr = [];
for(var i=1 ; i<=20000 ; i++){
    arr.push({num:i});
}
db.numbers.insert(arr);

命令行导入数据脚本

/**
 * 导入到数据库
 * mongoimport: 导入,
 * --db: 数据库database,
 * demo: 数据库的名称,
 * --collection: 集合collections,
 * goods: 集合的名称,
 * --file: 文件,后面是要导入的文件路径
 */
mongoimport --db demo --collection goods --file E:\nodeJs\goods.json

多个集群启动(自启动不推荐)

建议把下面的改成手动,其实就是在后面加一个端口号和新建一些文件夹即可

1.启动
mongod --dbpath D:\DB\Mongodb\data\replset\r1\ 
 --logpath D:\DB\Mongodb\data\replset\r1\replset.log 
 --replSet test --logappend --port 10001
mongod --dbpath D:\DB\Mongodb\data\replset\r2\ 
 --logpath D:\DB\Mongodb\data\replset\r2\replset.log 
 --replSet test --logappend --port 10002
mongod --dbpath D:\DB\Mongodb\data\replset\r3\ 
 --logpath D:\DB\Mongodb\data\replset\r3\replset.log 
 --replSet test --logappend --port 10003
mongod --dbpath D:\DB\Mongodb\data\replset\r4\ 
 --logpath D:\DB\Mongodb\data\replset\r4\replset.log 
 --replSet test --logappend --port 10004 
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
5月前
|
关系型数据库 MySQL 索引
Mysql 大批量数据插入与删除
Mysql 大批量数据插入与删除
32 0
|
2天前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第9天】mongoDB查看数据的插入日志
17 4
|
5月前
|
关系型数据库 MySQL
MySQL中数据插入与主键冲突解决方案
MySQL中数据插入与主键冲突解决方案
207 0
|
8月前
|
关系型数据库 MySQL 数据库
在MySQL数据库中插入、更新与删除数据
在MySQL数据库中插入、更新与删除数据。
63 2
|
4月前
|
关系型数据库 MySQL 数据库
『 MySQL数据库 』插入查询结果
『 MySQL数据库 』插入查询结果
|
5月前
|
关系型数据库 MySQL 数据库
[已解决]Mysql想删掉一个表里所有的数据,直接删总是卡住
[已解决]Mysql想删掉一个表里所有的数据,直接删总是卡住
51 0
|
11月前
|
存储 关系型数据库 MySQL
MySQL记录删除后竟能按中间被删除的主键加回去,磁盘空间被重用!——底层揭秘MySQL行格式记录头信息
当Mysql记录被删除,页中记录存储结构如何变化?当删除的记录再次被插入,页中记录存储结构如何变化?本篇讲解记录头信息的底层原理和计算,让你从原理理解它!
76 0
MySQL记录删除后竟能按中间被删除的主键加回去,磁盘空间被重用!——底层揭秘MySQL行格式记录头信息
|
10月前
|
关系型数据库 MySQL 数据库
MySQL基本操作(数据库的增删查)
MySQL基本操作(数据库的增删查)
48 0
MySQL基本操作(数据库的增删查)
|
SQL 存储 缓存
MySQL 批量操作,一次插入多少行数据效率最高?
MySQL 批量操作,一次插入多少行数据效率最高?
|
SQL 缓存 关系型数据库
MySQL 批量操作,一次插入多少行数据效率最高?(2)
MySQL 批量操作,一次插入多少行数据效率最高?
158 0