初识Mongdb之数据插入篇

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 初识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
相关文章
|
7月前
|
关系型数据库 MySQL 索引
Mysql 大批量数据插入与删除
Mysql 大批量数据插入与删除
60 0
|
2月前
|
存储 JSON NoSQL
MongoDB 插入文档
10月更文挑战第14天
34 0
|
7月前
|
监控 NoSQL MongoDB
mongoDB查看数据的插入日志
【5月更文挑战第22天】mongoDB查看数据的插入日志
58 3
|
关系型数据库 MySQL 数据库
在MySQL数据库中插入、更新与删除数据
在MySQL数据库中插入、更新与删除数据。
89 2
|
7月前
|
关系型数据库 MySQL 数据库
『 MySQL数据库 』插入查询结果
『 MySQL数据库 』插入查询结果
|
SQL 存储 缓存
MySQL 批量操作,一次插入多少行数据效率最高?
MySQL 批量操作,一次插入多少行数据效率最高?
|
SQL 缓存 关系型数据库
MySQL 批量操作,一次插入多少行数据效率最高?(2)
MySQL 批量操作,一次插入多少行数据效率最高?
216 0
|
SQL 数据可视化 关系型数据库
值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢
最近要导入大量数据到数据库,数据库中有数据列要求唯一的,也就是唯一键,但是我拿到的数据有部分重复,一运行就会出错,如果把重复数据找出来,删除后在导入,太麻烦了,所以想要丝滑导入,并忽略重复数据,有了下面的解决方案: 本次案例使用phpmyadmin进行演示
1088 1
值得收藏:当向数据库导入大量数据时,mysql主键唯一键重复插入,如何丝滑操作并不导入重复数据呢
|
关系型数据库 MySQL
MySQL数据的插入、更新、删除
MySQL数据的插入、更新、删除
110 0
|
SQL 关系型数据库 MySQL
MySQL中的批量操作(修改,插入)
在平常的项目中,我们会需要批量操作数据库的时候,例如:批量修改,批量插入,那我们不应该使用 for 循环去操作数据库,这样会导致我们反复与数据库发生连接和断开连接,影响性能和增加操作时间
537 0