`

从MySQL到MongoDB(添加MongoDB循环插入数据方法)

阅读更多

本文描述了MySQL中的常用SQL语句在MongoDB中的写法,如果你长期使用MySQL而对MongoDB跃跃欲试,这篇简单的文章可以帮助你更快的进入角色。

查询:
MySQL:
SELECT * FROM user
Mongo:
db.user.find()

MySQL:
SELECT * FROM user WHERE name = ’starlee’
Mongo:
db.user.find({‘name’ : ’starlee’})

插入:
MySQL:
INSERT INOT user (`name`, `age`) values (’starlee’,25)
Mongo:
db.user.insert({‘name’ : ’starlee’, ‘age’ : 25})

如果你想在MySQL里添加一个字段,你必须:
ALTER TABLE user….
但在MongoDB里你只需要:
db.user.insert({‘name’ : ’starlee’, ‘age’ : 25, ‘email’ : ’starlee@starlee.com’})

删除:
MySQL:
DELETE * FROM user
Mongo:
db.user.remove({})

MySQL:
DELETE FROM user WHERE age < 30
Mongo:
db.user.remove({‘age’ : {$lt : 30}})

$gt : > ; $gte : >= ; $lt : < ; $lte : <= ; $ne : !=

更新:

MySQL:
UPDATE user SET `age` = 36 WHERE `name` = ’starlee’
Mongo:
db.user.update({‘name’ : ’starlee’}, {$set : {‘age’ : 36}})

MySQL:
UPDATE user SET `age` = `age` + 3 WHERE `name` = ’starlee’
Mongo:
db.user.update({‘name’ : ’starlee’}, {$inc : {‘age’ : 3}})

MySQL:
SELECT COUNT(*) FROM user WHERE `name` = ’starlee’
Mongo:
db.user.find({‘name’ : ’starlee’}).count()

MySQL:
SELECT * FROM user limit 10,20
Mongo:
db.user.find().skip(10).limit(20)

MySQL:
SELECT * FROM user WHERE `age` IN (25, 35,45)
Mongo:
db.user.find({‘age’ : {$in : [25, 35, 45]}})

MySQL:
SELECT * FROM user ORDER BY age DESC
Mongo:
db.user.find().sort({‘age’ : -1})

MySQL:
SELECT DISTINCT(name) FROM user WHERE age > 20
Mongo:
db.user.distinct(‘name’, {‘age’: {$lt : 20}})

MySQL:
SELECT name, sum(marks) FROM user GROUP BY name
Mongo:
db.user.group({
key : {‘name’ : true},
cond: {‘name’ : ‘foo’},
reduce: function(obj,prev) { prev.msum += obj.marks; },
initial: {msum : 0}
});

MySQL:
SELECT name FROM user WHERE age < 20
Mongo:
db.user.find(‘this.age < 20′, {name : 1})

发现很多人在搜MongoDB循环插入数据,下面把MongoDB循环插入数据的方法添加在下面:

for(var i=0;i<100;i++)db.test.insert({uid:i,uname:’nosqlfan’+i});

上面一次性插入一百条数据,大概结构如下:

{ “_id” : ObjectId(“4c876e519e86023a30dde6b8″), “uid” : 55, “uname” : “nosqlfan55″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6b9″), “uid” : 56, “uname” : “nosqlfan56″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6ba”), “uid” : 57, “uname” : “nosqlfan57″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6bb”), “uid” : 58, “uname” : “nosqlfan58″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6bc”), “uid” : 59, “uname” : “nosqlfan59″ }
{ “_id” : ObjectId(“4c876e519e86023a30dde6bd”), “uid” : 60, “uname” : “nosqlfan60″ }
 
分享到:
评论

相关推荐

    基于MySQL到MongoDB简易对照表的详解

    最后,对于MongoDB中循环插入数据,可以使用JavaScript循环,如示例中的for循环,它一次性插入了一百条数据记录。这种方法适用于快速生成测试数据或在初始化时导入大量记录。 通过这些对照,可以看出MySQL与MongoDB...

    Python中MySQL数据迁移到MongoDB脚本的方法

    5. **数据迁移**:通过`query`方法从MySQL中选取特定范围的数据,然后使用`insert_many`方法将这些数据批量插入到MongoDB的相应集合中。 6. **进度更新**:脚本中使用`for`循环迭代数据,每处理完一批数据就更新...

    mongodb入门篇

    对于大量数据的批量插入,可以通过循环实现,如插入1000条数据的示例。 数据查询是MongoDB的重要功能。`db.collection.find()`可以返回集合中的所有文档,`_id`字段是自动生成的,全局唯一,也可以自定义,但不能...

    MongoDB.The.Definitive.Guide.chapter9.replication.试译

    从节点通过定期检查oplog,将这些操作应用到自己的数据集上,从而保持与主节点的一致性。如果从节点因网络问题等原因与主节点断开,它可以重新同步,从oplog的最后已知位置开始应用操作。 总之,MongoDB的复制功能...

    【MongoDB for Java】Java操作MongoDB数据库

    这个示例不仅包含了连接MongoDB、查询数据的基本操作,还展示了如何插入、更新和删除数据。注意,这些操作都涉及到MongoDB的CRUD(Create、Read、Update、Delete)操作,是进行数据库交互的基础。 总的来说,Java...

    PHP简单操作MongoDB的方法(安装及增删改查)

    例如,可以通过一个循环插入50条带有name、email和age字段的数据。 - 删除操作:通过集合对象的remove方法可以删除符合查询条件的文档。比如,可以根据name字段删除name为"xixi111"的文档。 - 查找操作:使用find...

    mongodb数据库游标的使用浅析

    在MongoDB中,数据检索通常涉及使用游标(Cursor),它是一个数据迭代器,允许我们按需从查询结果集中获取数据,而不是一次性加载所有结果。本篇文章将深入探讨MongoDB数据库游标的使用。 首先,我们需要理解为什么...

    MongoDB的mongo shell常用操作方法及操作脚本笔记

    - `for` 循环:用于批量插入数据,例如插入30个用户文档。 - `find` 游标:`db.users.find()` 返回一个游标,通过`hasNext`和`next`遍历所有文档。 - `forEach` 迭代:`db.users.find().forEach(printjson)`,对...

    web程序抓取各个网站的数据

    4. **批量抓取**:为了从多个网站或页面抓取数据,你需要设计一个循环或迭代机制,每次请求一个新页面并重复数据提取步骤。同时,要注意避免过于频繁的请求,以防止被目标网站封禁,可以设置延时或者使用代理IP。 5...

    Python数据持久化存储实现方法分析

    具体流程是,首先初始化一个爬虫类,创建MongoDB的连接和库集合对象,然后定义抓取网页、解析网页和存储到数据库的方法,最后通过循环抓取、解析和存储数据。 至于mysql模块,它是Python用来操作MySQL数据库的接口...

    易语言数据库填充到树型框例程

    数据库是存储和管理数据的系统,它可以是关系型数据库,如MySQL、SQL Server,或者是非关系型数据库,如MongoDB等。在易语言中,我们可以使用其提供的数据库接口来连接、查询和操作这些数据库。 树型框,又称为树...

    分布式爬虫处理Redis里的数据操作步骤

    在循环中,通过`blpop`方法从Redis队列中取出数据,转换为JSON格式,再插入到MongoDB的特定集合中。如果遇到错误,应捕获并处理。 接下来,将Redis中的数据存入MySQL数据库。首先启动MySQL服务,然后以root用户登录...

    简易商品管理系统 数据结构课程设计

    1. **数据库设计**:可能使用关系型数据库(如MySQL、SQLite)或NoSQL数据库(如MongoDB)来存储商品信息。 2. **接口设计**:需要设计用户友好的界面,允许用户进行商品浏览、搜索、购买等操作。 3. **错误处理和...

    postgresql_简介

    - **数据插入速度**:在插入数据方面,PostgreSQL 的效率明显高于 MongoDB。 - **查询性能**:PostgreSQL 在查询数据时的性能也优于 MongoDB。 #### PostgreSQL vs SQL Server - **CSV 文件支持**:PostgreSQL 对 ...

    java面试题.docx

    Java 基础、Java 集合、多线程、Java 异常、Spring、Spring MVC、Spring Boot、Spring Cloud、Netty、Dubbo、Activemq、Java Web、JVM、Kafka、MongoDB、MyBatis、MySQL、Nginx、RabbitMQ、Redis、Tomcat、ZooKeeper...

    完整版 Python高级开发课程 高级教程 01 Python语言开发要点详解.pptx

    【Python高级开发课程 高级教程】是一系列深入学习Python编程的课程,涵盖了从语言核心概念到高级应用的广泛主题。以下是对各个部分的详细解释: 1. **Python语言开发要点详解**: 这一部分通常会涉及Python的基础...

    常见的面试点1

    与其他数据库如MongoDB(文档数据库)、PostgreSQL(对象关系型数据库)相比,MySQL更适合处理结构化数据。 2. 索引的作用:索引能显著提升查询速度,但并非所有情况都适合添加索引。小表(数据量较小)添加索引...

    好谷大牛管理系统(增删改查)

    例如,添加数据涉及向数据库插入新的记录;删除数据则涉及根据特定条件删除一条或多条记录;修改数据意味着更新已存在的记录;查询数据则包括根据各种条件检索数据库中的信息。 系统设计时,通常会采用RESTful API...

    一个简单的Ajax聊天应用程序

    - **数据库**:用于存储聊天记录,常见的有MySQL、MongoDB等,确保数据持久化。 2. **Ajax核心原理** - **XMLHttpRequest对象**:Ajax的核心,它是浏览器提供的API,用于在后台与服务器进行通信,无需刷新页面。 ...

    数据库考纲精华2w字整理

    - 插入:INSERT语句用于向数据库添加新记录。 - 更新:UPDATE语句修改已有记录。 - 删除:DELETE语句移除指定记录。 - 事务处理:确保数据一致性,包括ACID(原子性、一致性、隔离性和持久性)属性。 4. 数据库...

Global site tag (gtag.js) - Google Analytics