`
zhangdaiscott
  • 浏览: 447977 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8fb25857-16b4-3681-ab5e-e319f45c42a8
Jeecg快速开发平台
浏览量:0
文章分类
社区版块
存档分类

MongoDB数据表基本操作

 
阅读更多

MongoDB数据表基本操作

查看全部数据表

复制代码
>useChatRoom
switchedtodbChatRoom
>showcollections
Account
Chat
system.indexes
system.users
复制代码

创建数据表

>db.createCollection("Account")
{"ok":1}

> db.createCollection("Test",{capped:true, size:10000}) { "ok" : 1 }

{"ok":1}

-- 说明

capped:true,表示该集合的结构不能被修改;

size:在建表之初就指定一定的空间大小,接下来的插入操作会不断地按顺序APPEND数据在这个预分配好空间的文件中,如果已经超出空间大小,则回到文件头覆盖原来的数据继续插入。这种结构保证了插入和查询的高效性,它不允许删除单个记录,更新的也有限制:不能超过原有记录的大小。这种表效率很高,它适用于一些暂时保存数据的场合,比如网站中登录用户的session信息,又比如一些程序的监控日志,都是属于过了一定的时间就可以被覆盖的数据。

修改数据表名

>db.Account.renameCollection("Account1")
{"ok":1}

数据表帮助主题help

复制代码
>db.Account.help()
DBCollectionhelp
db.Account.find().help()-showDBCursorhelp
db.Account.count()
db.Account.dataSize()
db.Account.distinct(key)-eg.db.Account.distinct('x')
db.Account.drop()dropthecollection
db.Account.dropIndex(name)
db.Account.dropIndexes()
db.Account.ensureIndex(keypattern[,options])-optionsisanobjectwiththesepossiblefields:name,unique,dropDups
db.Account.reIndex()
db.Account.find([query],[fields])-queryisanoptionalqueryfilter.fieldsisoptionalsetoffieldstoreturn.
e.g.db.Account.find({x:77},{name:1,x:1})
db.Account.find(...).count()
db.Account.find(...).limit(n)
db.Account.find(...).skip(n)
db.Account.find(...).sort(...)
db.Account.findOne([query])
db.Account.findAndModify({update:...,remove:bool[,query:{},sort:{},'new':false]})
db.Account.getDB()getDBobjectassociatedwithcollection
db.Account.getIndexes()
db.Account.group({key:...,initial:...,reduce:...[,cond:...]})
db.Account.mapReduce(mapFunction,reduceFunction,<optionalparams>)
db.Account.remove(query)
db.Account.renameCollection(newName,<dropTarget>)renamesthecollection.
db.Account.runCommand(name,<options>)runsadbcommandwiththegivennamewherethefirstparamisthecollectionname
db.Account.save(obj)
db.Account.stats()
db.Account.storageSize()-includesfreespaceallocatedtothiscollection
db.Account.totalIndexSize()-sizeinbytesofalltheindexes
db.Account.totalSize()-storageallocatedforalldataandindexes
db.Account.update(query,object[,upsert_bool,multi_bool])
db.Account.validate()-SLOW
db.Account.getShardVersion()-onlyforusewithsharding
复制代码

查看全部表记录

>db.Account.find()
{"_id":ObjectId("4df08553188e444d001a763a"),"AccountID":1,"UserName":"libing","Password":"1","Age":26,"Email":"libing@126.com","RegisterDate":"2011-06-0916:31:25"}
{"_id":ObjectId("4df08586188e444d001a763b"),"AccountID":2,"UserName":"lb","Password":"1","Age":25,"Email":"libing@163.com","RegisterDate":"2011-06-0916:36:95"}

--SELECT * FROM Account

说明:

默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。
可以通过DBQuery.shellBatchSize设置每页显示数据的大小。如:DBQuery.shellBatchSize = 5,这样每页就显示5条记录了。

复制代码
>db.Test.find()
{"_id":ObjectId("4df6d55407444568af61cfea"),"TestID":1}
{"_id":ObjectId("4df6d55907444568af61cfeb"),"TestID":2}
{"_id":ObjectId("4df6d55b07444568af61cfec"),"TestID":3}
{"_id":ObjectId("4df6d55e07444568af61cfed"),"TestID":4}
{"_id":ObjectId("4df6d56207444568af61cfee"),"TestID":5}
{"_id":ObjectId("4df6d56507444568af61cfef"),"TestID":6}
{"_id":ObjectId("4df6d56807444568af61cff0"),"TestID":7}
{"_id":ObjectId("4df6d56b07444568af61cff1"),"TestID":8}
{"_id":ObjectId("4df6d56e07444568af61cff2"),"TestID":9}
{"_id":ObjectId("4df6d57a07444568af61cff3"),"TestID":10}
{"_id":ObjectId("4df6d57d07444568af61cff4"),"TestID":11}
{"_id":ObjectId("4df6d58007444568af61cff5"),"TestID":12}
{"_id":ObjectId("4df6d58307444568af61cff6"),"TestID":13}
{"_id":ObjectId("4df6d58e07444568af61cff7"),"TestID":14}
{"_id":ObjectId("4df6d59207444568af61cff8"),"TestID":15}
{"_id":ObjectId("4df6d59607444568af61cff9"),"TestID":16}
{"_id":ObjectId("4df6d59c07444568af61cffa"),"TestID":17}
{"_id":ObjectId("4df6d5a307444568af61cffb"),"TestID":18}
{"_id":ObjectId("4df6d5a607444568af61cffc"),"TestID":19}
>DBQuery.shellBatchSize
20
>DBQuery.shellBatchSize=5
5
>db.Test.find()
{"_id":ObjectId("4df6d55407444568af61cfea"),"TestID":1}
{"_id":ObjectId("4df6d55907444568af61cfeb"),"TestID":2}
{"_id":ObjectId("4df6d55b07444568af61cfec"),"TestID":3}
{"_id":ObjectId("4df6d55e07444568af61cfed"),"TestID":4}
{"_id":ObjectId("4df6d56207444568af61cfee"),"TestID":5}
hasmore
>it
{"_id":ObjectId("4df6d56507444568af61cfef"),"TestID":6}
{"_id":ObjectId("4df6d56807444568af61cff0"),"TestID":7}
{"_id":ObjectId("4df6d56b07444568af61cff1"),"TestID":8}
{"_id":ObjectId("4df6d56e07444568af61cff2"),"TestID":9}
{"_id":ObjectId("4df6d57a07444568af61cff3"),"TestID":10}
hasmore
>it
{"_id":ObjectId("4df6d57d07444568af61cff4"),"TestID":11}
{"_id":ObjectId("4df6d58007444568af61cff5"),"TestID":12}
{"_id":ObjectId("4df6d58307444568af61cff6"),"TestID":13}
{"_id":ObjectId("4df6d58e07444568af61cff7"),"TestID":14}
{"_id":ObjectId("4df6d59207444568af61cff8"),"TestID":15}
hasmore
>it
{"_id":ObjectId("4df6d59607444568af61cff9"),"TestID":16}
{"_id":ObjectId("4df6d59c07444568af61cffa"),"TestID":17}
{"_id":ObjectId("4df6d5a307444568af61cffb"),"TestID":18}
{"_id":ObjectId("4df6d5a607444568af61cffc"),"TestID":19}
>it
nocursor
复制代码

查询一条记录

复制代码
>db.Account.findOne()
{
"_id":ObjectId("4ded95c3b7780a774a099b7c"),
"UserName":"libing",
"Password":"1",
"Email":"libing@126.cn",
"RegisterDate":"2011-06-0711:06:25"
}
复制代码

--SELECT TOP 1 * FROM Account

查询聚集中字段的不同记录

>db.Account.distinct("UserName")

--SELECT DISTINCT("UserName") FROM Account

查询聚集中UserName包含“keyword”关键字的记录

db.Account.find({"UserName":/keyword/})

--SELECT * FROM Account WHERE UserName LIKE '%keyword%'

查询聚集中UserName以"keyword" 开头的记录

>db.Account.find({"UserName":/^keyword/})

--SELECT * FROM Account WHERE UserName LIKE 'keyword%'

查询聚集中UserName以“keyword”结尾的记录

>db.Account.find({"UserName":/keyword$/})

--SELECT * FROM Account WHERE UserName LIKE '%keyword'

查询聚集中指定列

>db.Account.find({},{"UserName":1,"Email":1}) --1:true

--SELECT UserName,Email FROM Account

查询聚集中排除指定列

>db.Account.find({},{"UserName":0}) --0:false

查询聚集中指定列,且Age > 20

>db.Account.find({"Age":{"$gt":20}},{"UserName":1,"Email":1})

--SELECT UserName,Email FROM Account WHERE Age > 20

聚集中字段排序

>db.Account.find().sort({"UserName":1})--升序
>db.Account.find().sort({"UserName":-1})--降序

--SELECT * FROM Account ORDER BY UserName ASC

--SELECT * FROM Account ORDER BY UserName DESC

统计聚集中记录条数

>db.Account.find().count()

--SELECT COUNT(*) FROM Account

统计聚集中符合条件的记录条数

>db.Account.find({"Age":{"$gt":20}}).count()

-- SELECT COUNT(*) FROM Account WHERE Age > 20

统计聚集中字段符合条件的记录条数

>db.Account.find({"UserName":{"$exists":true}}).count()

--SELECT COUNT(UserName) FROM Account

查询聚集中前5条记录

>db.Account.find().limit(5)

--SELECT TOP 5 * FROM Account

查询聚集中第10条以后的记录

>db.Account.find().skip(10)

--SELECT * FROM Account WHERE AccountID NOT IN (SELECT TOP 10 AccountID FROM Account)

查询聚集中第10条记录以后的5条记录

>db.Account.find().skip(10).limit(5)

--SELECT TOP 5 * FROM Account WHERE AccountID NOT IN (SELECT TOP 10 AccountID FROM Account)

or查询

>db.Account.find({"$or":[{"UserName":/keyword/},{"Email":/keyword/}]},{"UserName":true,"Email":true})

--SELECT UserName,Email FROM Account WHERE UserName LIKE '%keyword%' OR Email LIKE '%keyword%'

添加新记录

>db.Account.insert({AccountID:2,UserName:"lb",Password:"1",Age:25,Email:"libing@163.com",RegisterDate:"2011-06-0916:36:95"})

修改记录

>db.Account.update({"AccountID":1},{"$set":{"Age":27,"Email":"libingql@163.com"}})
>db.Account.find({"AccountID":1})
{"AccountID":1,"Age":27,"Email":"libingql@163.com","Password":"1","RegisterDate":"2011-06-0916:31:25","UserName":"libing","_id":ObjectId("4df08553188e444d001a763a")}

>db.Account.update({"AccountID":1},{"$inc":{"Age":1}})
>db.Account.find({"AccountID":1})
{"AccountID":1,"Age":28,"Email":"libingql@163.com","Password":"1","RegisterDate":"2011-06-0916:31:25","UserName":"libing","_id":ObjectId("4df08553188e444d001a763a")}

删除记录

>db.Account.remove({"AccountID":1})--DELETEFROMAccountWHEREAccountID=1

>db.Account.remove({"UserName":"libing"})--DELETEFROMAccountWHEREUserName='libing'

>db.Account.remove({"Age":{$lt:20}})--DELETEFROMAccountWHEREAge<20
>db.Account.remove({"Age":{$lte:20}})--DELETEFROMAccountWHEREAge<=20
>db.Account.remove({"Age":{$gt:20}})--DELETEFROMAccountWHEREAge>20
>db.Account.remove({"Age":{$gte:20}})--DELETEFROMAccountWHEREAge>=20
>db.Account.remove({"Age":{$ne:20}})--DELETEFROMAccountWHEREAge!=20

>db.Account.remove()--全部删除
>db.Account.remove({})--全部删除
分享到:
评论

相关推荐

    MongoDB数据表基本操作中文最新版本

    本文档主要讲述的是MongoDB数据表基本操作;希望对大家会有帮助;感兴趣的朋友可以过来看看

    mongodb数据库的基本操作

    在本文中,我们将深入探讨“mongodb数据库的基本操作”,包括增、删、改、查以及分页功能。 首先,让我们从创建数据库开始。在MongoDB中,数据库是存储数据的基本单位。通过运行`use &lt;database_name&gt;`命令,你可以...

    mongodb 数据库基本操作.doc

    删除数据也是MongoDB的一项基本操作。 - **使用`deleteOne`和`deleteMany`方法**: - **删除第一个匹配的文档**:使用`deleteOne`方法删除匹配查询条件的第一个文档。 - **删除所有匹配的文档**:使用`deleteMany...

    nosql实验六- MongoDB的安装与基本操作.docx

    MongoDB 安装与基本操作 MongoDB 是一款流行的 NoSQL 数据库,广泛应用于大数据和实时 Web 应用程序。在本实验中,我们将学习如何在 Windows 和 Linux 环境下安装 MongoDB,并了解 MongoDB 的基本操作。 一、...

    mongodb-测试数据

    1. **基本 CRUD 操作**:这些数据可以帮助你练习插入(Insert)、查询(Find)、更新(Update)和删除(Delete)操作,理解如何在MongoDB中处理单个文档和批量文档。 2. **聚合框架**:可能包含各种聚合管道示例,...

    MongoDB若基本操作

    在这个“MongoDB基本操作”的主题中,我们将深入探讨如何使用MongoDB进行数据的增删改查以及其它关键操作。 1. **安装与启动MongoDB** - 在不同的操作系统(如Windows、Linux或macOS)上安装MongoDB的步骤略有不同...

    MongoDB基本操作指南

    MongoDB 使用类似于JSON的BSON格式存储数据,这使得数据模型更具表现力,同时也简化了数据操作。MongoDB 的核心特性包括其无模式(Schema-free)的设计,允许动态schema,这意味着文档可以拥有不同的结构,极大地...

    mongodb与oralce的数据同步

    本示例将探讨如何通过Java实现MongoDB与Oracle之间的数据操作及同步。 首先,关于MongoDB的CRUD(创建、读取、更新、删除)操作,MongoDB使用的是JSON格式的文档存储,这使得它在处理结构化和半结构化数据时非常...

    MongoDB架构及基本操作说明.docx

    MongoDB 架构及基本操作说明 MongoDB 是一种基于分布式文件存储的 NoSQL 数据库,能够处理大量数据,具有高性能、可靠性和灵活性等特点。下面是 MongoDB 架构及基本操作说明。 架构 MongoDB 架构主要分为两种:单...

    MongoDB 数据库创建删除、表(集合)创建删除、数据增删改查2

    在本文中,我们将深入探讨如何在 MongoDB 中进行数据库、集合以及数据的操作,包括创建、删除、查询以及更新等基本操作。 首先,让我们从连接数据库开始。在命令行中,你可以使用 `show dbs` 命令来查看当前已存在...

    mongodb实验-数据库基本操作-MongoDB实验:数据库基本操作指南与实例

    ②学会在MongoDB中创建数据库、集合并进行基本的数据操作;③熟悉MongoDB的索引管理;④能够通过具体的实例练习提高实践能力。 阅读建议:跟随文章提供的实验步骤进行实际操作,在实践中加深理解。同时可以查阅更多...

    mongodb 数据库基本操作

    以上就是MongoDB数据库的基本操作,通过这些操作,运维人员可以有效地管理MongoDB数据库,进行数据存储、查询、分析和备份等任务。在实际工作中,理解并熟练运用这些知识,将有助于提升工作效率和系统稳定性。

    mongodb实验-数据库基本操作-MongoDB数据库基本操作指南:连接、创建与CRUD实验

    使用场景及目标:帮助读者快速掌握MongoDB基本操作,能够在实际工作中熟练运用数据库的创建、数据管理等技能。 阅读建议:在阅读时建议边学边做,实际操作每一步骤,通过动手实验巩固理论知识,加强对MongoDB操作的...

    MongoDB架构及基本操作说明1

    MongoDB 是一种流行的开源...理解并掌握其配置和基本操作对于有效管理和利用MongoDB至关重要,特别是在处理大规模数据和要求高性能的应用场景中。通过熟练运用这些知识,开发人员可以构建出可靠且高效的数据库系统。

    Python操作MongoDB数据库的基本一些操作 .zip

    mongodb 数据库基本操作 1、mongoDB的介绍 mongoDB是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它介于关系数据库和非关系数据库之间,被认为是非...

    SpringBoot+MongoDB+Echarts图表数据可视化

    3. **编写MongoDB CRUD操作**:使用Spring Data MongoDB库,创建Repository接口并实现对MongoDB的基本增删查改操作。 4. **创建RESTful API**:设计API接口,例如GET请求用于获取数据,POST请求用于提交新数据,...

    MongoDB基本操作.docx

    ### MongoDB基本操作详解 #### MongoDB简介 ...以上步骤覆盖了MongoDB的基本操作,从创建数据库到管理文档,以及如何查询、更新和删除数据。通过这些基本操作的学习,可以为进一步深入学习MongoDB打下坚实的基础。

    Mongodb安装部署操作资料

    本资料包涵盖了MongoDB的安装、部署以及相关的操作知识,旨在帮助用户全面理解和掌握MongoDB的基本使用。 首先,让我们从MongoDB的安装开始。MongoDB提供了适用于多种操作系统(如Windows、Linux和macOS)的二进制...

    MongoDB基本操作之Python篇

    本文主要介绍在Python环境下如何进行MongoDB的基本操作。 首先,我们需要了解MongoDB在Python中的两种连接数据库的方式:MongoClient和Connection。从继承关系来看,Connection是MongoClient的子类。这意味着...

Global site tag (gtag.js) - Google Analytics