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里面,是不是很魔性的解决方法