MongoDB学习
Posted 玉思盈蝶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB学习相关的知识,希望对你有一定的参考价值。
学习参考:
https://github.com/Perfect-Server-Swift-LearnGuide/PerfectLearnGuide/tree/master/第4章-MongoDB基础
http://wiki.jikexueyuan.com/project/mongodb/mongodb-create-database.html
一.安装:
安装这里就不记录了,上面参考传送门都有介绍很详细的哟。
二.启动MongoDB:
mkdir mongodb-data cd mongodb-data/ mongod --dbpath=. 2016-10-24T16:52:49.330+0800 I NETWORK [initandlisten] waiting for connections on port 27017
如果出现等待连接信息,则表明启动成功.
mongo
如下图所示,表明启动成功。
三.检查数据库列表:
>show dbs local 0.78125GB test 0.23012GB
四.创建数据库:
>use mydb
switched to db mydb
五.查看当前操作的数据库:
>db
mydb
当数据库没有记录,会不显示改数据库的。需要插入至少一条记录
在 MongoDB 中,默认的数据库是 test,如果你没有创建任何数据库,那么集合就会保存在 test 数据库中。
六.删除数据库:
先指定删除的数据库,再删除。
>use mydb switched to db mydb >db.dropDatabase() >{ "dropped" : "mydb", "ok" : 1 } >
七.数据类型:
MongoDB 支持如下数据类型:
- String:字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
- Integer:整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
- Boolean:布尔值。用于存储布尔值(真/假)。
- Double:双精度浮点值。用于存储浮点值。
- Min/Max keys:将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
- Arrays:用于将数组或列表或多个值存储为一个键。
- Timestamp:时间戳。记录文档修改或添加的具体时间。
- Object:用于内嵌文档。
- Null:用于创建空值。
- Symbol:符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
- Date:日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
- Object ID:对象 ID。用于创建文档的 ID。
- Binary Data:二进制数据。用于存储二进制数据。
- Code:代码类型。用于在文档中存储 javascript 代码。
- Regular expression:正则表达式类型。用于存储正则表达式。
八.插入数据:
> show dbs admin 0.000GB local 0.000GB > use PersonDB switched to db PersonDB > db.PersonDB.insert({"name":"sisi"}) WriteResult({ "nInserted" : 1 }) > show dbs PersonDB 0.000GB admin 0.000GB local 0.000GB >
九.删除数据:
>db.mycol.remove() // 删除所有的
>db.mycol.remove({\'title\':\'MongoDB Overview\'}) // 删除指定的记录
十.修改数据:
MongoDB 中的 update() 与 save() 方法都能用于更新集合中的文档。update() 方法更新已有文档中的值,而 save() 方法则是用传入该方法的文档来替换已有文档。
> db.PersonDB.update({\'name\':\'sisi\'},{$set:{\'name\':\'New MongoDB Tutorial\'}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.PersonDB.find() { "_id" : ObjectId("5975afc186640f136a8e540e"), "name" : "New MongoDB Tutorial" } >
save() 方法利用传入该方法的文档来替换已有文档。
>db.mycol.save( { "_id" : ObjectId(5983548781331adf45ec7), "title":"Tutorials Point New Topic", "by":"Tutorials Point" } )
十一.查询数据:
find() 方法会以非结构化的方式来显示所有文档。
pretty() 方法用格式化方式显示结果,使用的是 pretty() 方法。
带条件的查找:
And条件:
> db.PersonDB.find({\'name\':\'New MongoDB Tutorial\'}).pretty() { "_id" : ObjectId("5975afc186640f136a8e540e"), "name" : "New MongoDB Tutorial" }
OR条件:
十二.设置字段的显示和不显示,1:表示显示;0:表示不显示。
>db.mycol.find({},{"title":1,_id:0})
十三.记录排序:
使用 1 和 -1 来指定排序方式,其中 1 表示升序,而 -1 表示降序。
>db.mycol.find({},{"title":1,_id:0}).sort({"title":-1})
如果不指定排序规则,sort() 方法将按照升序排列显示文档。
以上是关于MongoDB学习的主要内容,如果未能解决你的问题,请参考以下文章
ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项