您的位置:首页 > 数据库 > Mongodb

mongodb 学习记录

2016-02-24 00:00 831 查看
NoSQL的优点/缺点

优点:
- 高可扩展性
- 分布式计算
- 低成本
- 架构的灵活性,半结构化数据
- 没有复杂的关系
缺点:

- 没有标准化
- 有限的查询功能(到目前为止)
- 最终一致是不直观的程序

mongodb

开启mongodb

mongod --dbpath e:\mongodb\bin

进入mongodb

mongo

创建数据库:

use DATABASE_NAME

查看所有数据库:

show dbs

删除数据库:

db.dropDatabase()

插入文档:

db.COLLECTION_NAME.insert(document)
插入文档你也可以使用 db.col.save(document) 命令。
如果不指定 _id 字段 save() 方法类似于 insert() 方法。
如果指定 _id 字段,则会更新该 _id 的数据。

更新文档:

db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,//是否全部更新
writeConcern: <document>
}
)

以上语句只会修改第一条发现的文档,如果你要修改多条相同的文档,
则需要设置 multi 参数为 true。
>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

删除文档:

db.collection.remove(
<query>,
{
justOne: <boolean>,//只删除一条
writeConcern: <document>
}
)
删除所有数据:db.collection.remove({})

查看文档:

db.col.find()
db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
findOne() 方法,它只返回一个文档。

and条件用逗号隔开.
or 条件用$or.
db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()

MongoDB中条件操作符有:

(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte

$type 的使用
例子:db.col.find({"title" : {$type : 2}})

limit(读取的记录条数):

db.COLLECTION_NAME.find().limit(NUMBER)

skip(跳过的记录数):

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

排序:

db.COLLECTION_NAME.find().sort({KEY:1})		//1升序,-1降序

创建索引:

db.COLLECTION_NAME.ensureIndex({KEY:1})

创建登录用户:

use admin

switched to db admin

db.createUser({user:"root",pwd:"root123",roles:["userAdminAnyDatabase"]})

Successfully added user: { "user" : "root", "roles" : [ "userAdminAnyDatabase" ] }

解决rockmongo的中文字符不显示问题:

http://zhangshenjia.com/it/%E8%A7%A3%E5%86%B3rockmongo%E4%B8%8D%E6%98%BE%E7%A4%BA%E4%B8%AD%E6%96%87%E7%9A%84%E9%97%AE%E9%A2%98/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: