MongoDB基本用法
Posted Ryana
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB基本用法相关的知识,希望对你有一定的参考价值。
MongoDB是一个基于分布式文件存储的开源数据库系统。将数据存储为一个文档,数据结构由键值(key=>value)对组成。
MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。
启动MongoDB服务
cmd进入F:\\MongoDB\\3.4\\bin目录下,输入启动命令:mongod --dbpath F:\\MongoDB\\data\\db,出现27017字样说明服务启动成功
可能遇到的报错:shutting down with code:100
1.管理员启动:win+x,然后A键,启动cmd
2.将MongoDB服务设置成Windows服务:
mongod --dbpath="F:\\MongoDB\\db" --logpath="F:\\MongoDB\\Log\\mongod.log" --logappend --directoryperdb --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
3.删除文件mongod.lock和storage.bson
或者计算机管理-服务-启动
基本操作语法
1 #创建数据库,要显示的数据库,需要插入至少一个文件 2 use testDB 3 #创建集合,options(可选)指定有关内存大小和索引选项,在MongoDB中,不需要创建集合。当插入一些文件 MongoDB 自动创建的集合 4 db.createCollection("col", options) 5 #删除数据库 6 db.dropDatabase() 7 #删除集合 8 db.collection.drop() 9 10 #插入数据 11 db.testDB.insert({"name":"菜鸟教程"}) 12 db.col.insert({title: \'MongoDB 教程\', 13 description: \'MongoDB 是一个 Nosql 数据库\', 14 by: \'菜鸟教程\', 15 url: \'http://www.runoob.com\', 16 tags: [\'mongodb\', \'database\', \'NoSQL\'], 17 likes: 100 18 }) 19 #插入文档 使用 insert() 或 save() 方法向集合中插入文档 20 document=({title: \'MongoDB 教程\', 21 description: \'MongoDB 是一个 Nosql 数据库\', 22 by: \'菜鸟教程\', 23 url: \'http://www.runoob.com\', 24 tags: [\'mongodb\', \'database\', \'NoSQL\'], 25 likes: 100 26 }); 27 db.col.insert(document) 28 db.col.save(document) #如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。 29 30 #查询文档 31 db.mycol.find().pretty() 32 db.mycol.find({key1:value1, key2:value2}).pretty() 33 db.mycol.find({$or: [{key1: value1}, {key2:value2}]}).pretty() 34 35 db.mycol.find({"by":"tutorials yiibai","title": "MongoDB Overview"}).pretty() 36 db.mycol.find({$or:[{"by":"yiibai"},{"title": "MongoDB Overview"}]}).pretty() 37 db.mycol.find("likes": {$gt:10}, $or: [{"by": "yiibai"}, {"title": "MongoDB Overview"}] }).pretty() 38 39 #更新文档,默认将只更新单一的文件,来更新多个你需要设置参数置\'multi\' 为true 40 db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA) 41 42 db.mycol.update({\'title\':\'MongoDB Overview\'},{$set:{\'title\':\'New MongoDB Tutorial\'}}) 43 db.mycol.update({\'title\':\'MongoDB Overview\'},{$set:{\'title\':\'New MongoDB Tutorial\'}},{multi:true}) 44 45 db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}) 46 db.mycol.save({"_id" : ObjectId(5983548781331adf45ec7), "title":"Yiibai New Topic", "by":"Yiibai"}) 47 48 #删除文档,justOne可选设置为true或1,只删除一个文件 49 db.COLLECTION_NAME.remove(DELLETION_CRITTERIA,justOne) 50 51 db.mycol.remove({\'title\':\'MongoDB Overview\'}) 52 db.mycol.remove({\'title\':\'MongoDB Overview\'},1) 53 54 #查询投影,当执行find()方法,那么它会显示一个文档所有字段。要限制这一点,需要设置的字段列表值1或0。 1用来显示字段而0是用来隐藏字段 55 db.COLLECTION_NAME.find({},{KEY:1}) 56 db.mycol.find({},{"title":1,_id:0}) 57 {"title":"MongoDB Overview"} 58 {"title":"NoSQL Overview"} 59 {"title":"Yiibai Overview"} 60 61 #排序,1用于升序排列,而-1用于降序,默认升序 62 db.COLLECTION_NAME.find().sort({KEY:1}) 63 db.mycol.find().sort({"title":-1}) 64 #索引 65 db.COLLECTION_NAME.ensureIndex({KEY:1}) 66 db.mycol.ensureIndex({"title":1})
参考:菜鸟教程
MongDB导入导出文件
1.导入
示例:mongoimport -d douban -c film --type csv --headerline --file C:\\Users\\HP\\Desktop\\codes\\DATA\\ratings.csv
语法要点
-d :数据库名
-c :collection名
--type :导入的格式默认json
-f :导入的字段名
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
--file :要导入的文件
2.导出
示例:mongoexport -d douban -c info -o C:\\Users\\HP\\Desktop\\codes\\DATA\\douban.csv --type csv -f "_id,rate,tag,title"
语法要点:
-d :数据库名
-c :collection名
-o :输出的文件名
--type : 输出的格式,默认为json
-f :输出的字段,如果-type为csv,则需要加上-f "字段名"
可能遇到的报错:SyntaxError: missing ; before statement @(shell):1:15
解决方法:再开一个cmd写,不能在运行了mongo的cmd里面,是不是很魔性的解决方法
以上是关于MongoDB基本用法的主要内容,如果未能解决你的问题,请参考以下文章