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
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。