欢迎投稿

今日深度:

MongoDB安装与基本语句,MongoDB安装语句

MongoDB安装与基本语句,MongoDB安装语句


MongoDB是一种NoSql(非关系型数据库)。

特点:(1)存储数据量大:单表存储可以达到PB级(1pb=1024T);(2)查询速度快;(3)结构:数据库==>集合==>文档;(4)适合存储大量的信息,丢失率相对较高。

Windows下安装:1、可以从官网获取最新的.msi安装程序或者.zip的解压版(http://dl.mongodb.org/dl/win32/x86_64)。(本人尝试了.msi安装,对于一些机器无法安装成功;这里就使用了zip解压版。)

2、解压版:将zip文件解压到D盘MongoDB文件中。

一开始没有data文件夹,自己新建一个,在data文件夹下新建一个db文件夹(存放数据库文件)和log文件夹,在log文件夹下新建一个空白的log.txt(存放日志)。


3、打开cmd,进入D:\MongoDB\bin,安装MongoDB服务。(卸载:将install改为remove)

D:\MongoDB\bin>mongod.exe --dbpath=d:\mongodb\data\db\ --logpath=d:\mongodb\data\log\log.txt  --install

启动服务

net start MongoDB

启动mongodb

D:\MongoDB\bin>mongo.exe

正常会显示以下信息,在这里会有个警告我们不关心。

MongoDB shell version v3.6.2-rc0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.2-rc0
Server has startup warnings:

到此安装工作就成功了,接下来就尝试一些基本命令。

操作:1、获取当前数据库名称。

> db.getName()
test

2、创建数据库

> use clare
switched to db clare
> db.getName()
clare

3、查看数据库状态。

> db.stats()
{
        "db" : "clare",
        "collections" : 0,
        "views" : 0,
        "objects" : 0,
        "avgObjSize" : 0,
        "dataSize" : 0,
        "storageSize" : 0,
        "numExtents" : 0,
        "indexes" : 0,
        "indexSize" : 0,
        "fileSize" : 0,
        "fsUsedSize" : 0,
        "fsTotalSize" : 0,
        "ok" : 1
}

4、简单的运算。

> x=100
100
> y=50
50
> x+y
150

5、查看数据库帮助信息。

db.help()
DB methods:
        db.adminCommand(nameOrDocument) - switches to 'admin' db, and runs comma
nd [just calls db.runCommand(...)]
        db.aggregate([pipeline], {options}) - performs a collectionless aggregat
ion on this database; returns a cursor
        db.auth(username, password)
        db.cloneDatabase(fromhost)
        db.commandHelp(name) returns 
6、普通数据添加。
> db.user.insert({name:'clare',age:'23'})
WriteResult({ "nInserted" : 1 })
7、多维数据对象添加。
> db.user.insert({name:'Tung',age:'22',area:{province:'anhui',city:'anqing'}})
WriteResult({ "nInserted" : 1 })
8、数组信息添加。
> db.user.insert({name:'Tung1',age:'22',area:{province:'anhui',city:'anqing',hob
by:['film','run']}})
WriteResult({ "nInserted" : 1 })
9、查询全部数据,_id字段是MongoDB自动生成的,可以自己设置。
> db.user.find()
{ "_id" : ObjectId("5a5203c4aa29e75badb44396"), "name" : "clare", "age" : "23" }

{ "_id" : ObjectId("5a520483aa29e75badb44397"), "name" : "Tung", "age" : "22", "
area" : { "province" : "anhui", "city" : "anqing" } }
{ "_id" : ObjectId("5a520517aa29e75badb44398"), "name" : "Tung1", "age" : "22",
"area" : { "province" : "anhui", "city" : "anqing", "hobby" : [ "film", "run" ]
} }
10、查询数据表第一条数据。
> db.user.findOne()
{
        "_id" : ObjectId("5a5203c4aa29e75badb44396"),
        "name" : "clare",
        "age" : "23"
}
11、带条件的查询,查询名字为‘Tung’的信息。
> db.user.find({name:'Tung'})
{ "_id" : ObjectId("5a520483aa29e75badb44397"), "name" : "Tung", "age" : "22", "
area" : { "province" : "anhui", "city" : "anqing" } }
12、findOne(条件):返回满足条件的第一条数据。
> db.user.findOne({name:'Tung'})
{
        "_id" : ObjectId("5a520483aa29e75badb44397"),
        "name" : "Tung",
        "age" : "22",
        "area" : {
                "province" : "anhui",
                "city" : "anqing"
        }
}
13、范围条件查询:大于。
> db.user.find({monery:{'$gt':1000}})
{ "_id" : ObjectId("5a520722aa29e75badb4439a"), "name" : "t2", "monery" : 1500 }

{ "_id" : ObjectId("5a52075eaa29e75badb4439c"), "name" : "t4", "monery" : 1300 }
14、范围条件查询:大于等于。
> db.user.find({monery:{'$gte':1000}})
{ "_id" : ObjectId("5a520711aa29e75badb44399"), "name" : "t1", "monery" : 1000 }

{ "_id" : ObjectId("5a520722aa29e75badb4439a"), "name" : "t2", "monery" : 1500 }

{ "_id" : ObjectId("5a52075eaa29e75badb4439c"), "name" : "t4", "monery" : 1300 }

15、范围条件查询:小于。

> db.user.find({monery:{'$lt':1000}})
{ "_id" : ObjectId("5a52074eaa29e75badb4439b"), "name" : "t3", "monery" : 500 }

16、范围条件查询:小于等于。

> db.user.find({monery:{'$lte':1000}})
{ "_id" : ObjectId("5a520711aa29e75badb44399"), "name" : "t1", "monery" : 1000 }

{ "_id" : ObjectId("5a52074eaa29e75badb4439b"), "name" : "t3", "monery" : 500 }
17、多个条件查询。
> db.user.find({name:'Tung',age:'22'})
{ "_id" : ObjectId("5a520483aa29e75badb44397"), "name" : "Tung", "age" : "22", "
area" : { "province" : "anhui", "city" : "anqing" } }
18、多维字段查询。
> db.user.find({'area.city':'anqing'})
{ "_id" : ObjectId("5a520483aa29e75badb44397"), "name" : "Tung", "age" : "22", "
area" : { "province" : "anhui", "city" : "anqing" } }
{ "_id" : ObjectId("5a520517aa29e75badb44398"), "name" : "Tung1", "age" : "22",
"area" : { "province" : "anhui", "city" : "anqing", "hobby" : [ "film", "run" ]
} }
19、数组条件的限制。

①在数组中就可以查询到。

> db.goods.find({color:'red'})
{ "_id" : ObjectId("5a520c33aa29e75badb4439d"), "name" : "cup", "color" : [ "bla
nk", "red", "blue" ] }
②在数组中存在一个就可以查询到。
> db.goods.find({color:{'$all':['red','blue']}})
{ "_id" : ObjectId("5a520c33aa29e75badb4439d"), "name" : "cup", "color" : [ "bla
nk", "red", "blue" ] }
20、限制查询字段。

说明:要查询的字段设置为1,不需要查询出来的字段设置为0,但是1和0不能同时存在,_id除外。

> db.user.find({monery:{'$gt':1000}},{name:1})
{ "_id" : ObjectId("5a520722aa29e75badb4439a"), "name" : "t2" }
{ "_id" : ObjectId("5a52075eaa29e75badb4439c"), "name" : "t4" }
> db.user.find({monery:{'$gt':1000}},{name:0,monery:0})
{ "_id" : ObjectId("5a520722aa29e75badb4439a") }
{ "_id" : ObjectId("5a52075eaa29e75badb4439c") }
> db.user.find({monery:{'$gt':1000}},{name:1,monery:0})
Error: error: {
        "ok" : 0,
        "errmsg" : "Projection cannot have a mix of inclusion and exclusion.",
        "code" : 2,
        "codeName" : "BadValue"
}
21、$or多个条件查询,满足其中一个就行。
> db.user.find({'$or':[{name:'t2'},{monery:1000}]})
{ "_id" : ObjectId("5a520711aa29e75badb44399"), "name" : "t1", "monery" : 1000 }

{ "_id" : ObjectId("5a520722aa29e75badb4439a"), "name" : "t2", "monery" : 1500 }
22、修改数据。

①有$set的修改:只修改设置的字段,其他字段不变化。

> db.user.update({name:'Tung'},{'$set':{name:'d1'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
②没有$set的修改:只修改设置的字段,其他没修改的字段删除了(_id)除外。
> db.user.update({name:'d1'},{name:'d2'})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
23、删除数据。

①删除记录。

> db.user.remove({name:'clare'})
WriteResult({ "nRemoved" : 1 })
②删除字段。
> db.user.update({age:22},{'$unset':{age:0}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

版权声明:本文为博主原创文章,未经博主允许不得转载。 http://blog.csdn.net/qq_36135928/article/details/78997439

www.htsjk.Com true http://www.htsjk.com/shujukunews/10186.html NewsArticle MongoDB安装与基本语句,MongoDB安装语句 MongoDB是一种NoSql(非关系型数据库)。 特点:(1)存储数据量大:单表存储可以达到PB级(1pb=1024T);(2)查询速度快;(3)结构:数据库==集...
评论暂时关闭