Mongodb 基本使用
2017-06-07 本文已影响31人
心愿2016
例如:现在有数据库
node_club_dev
表(集合)
messages
node_club_dev
topiccollects
topics
users
col
1.创建数据库
use node_club_dev
如果数据库不存在,则创建数据库,否则切换到指定数据库。
db
显示当前数据
show dbs
显示所有数据库
2. 删除数据库node_club_dev
user node_club_dev
db.dropDatabase()
返回 { "dropped" : "node_club_dev", "ok" : 1 }
删除表(集合)
user node_club_dev
show tables
db.messages.drop() //删除node_club_dev里的表messages
3.插入表数据
1
db.messages.insert({"title":"标题", "desrpert":"这是描述"})
2
db.messages.insert({title:'MongoDb', description:'MongoDB是一个Nosql数据库', by:'Mongodb 基本使用教程', url:'http://www.baidu.com', tags:['mongodb','databse', 'Nosql'],likes:100})
4.查找
db.messages.find() //所有的
4查找的数据格式化输出
db.messages.find().pretty()
5.更新标题
db.messages.update({'title':'MongoDb'},{$set:{'title':'MongoDB更新'}})
更多实例
只更新第一条记录:
db.messages.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );
全部更新:
db.messages.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );
只添加第一条:
db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );
全部添加加进去:
db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );
全部更新:
db.messages.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );
只更新第一条记录:
db.messages.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
4.删除记录(文档)
db.messages.remove({'title':'MongoDb教程'})
删除所有
db.messages.remove({})
5.查找
mondb sql
db.col.find({"by":"菜鸟教程"}).pretty() where by = '菜鸟教程'
db.col.find({"likes":{$lt:50}}).pretty() where likes < 50
db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50
db.col.find({"likes":{$gt:50}}).pretty() where likes > 50
db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50
db.col.find({"likes":{$ne:50}}).pretty() where likes != 50
and 类查找
db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()
or 类查找
db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
AND 和 OR 联合使用
db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
'where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')'
$gt -------- greater than
$gte --------- gt equal
$lt -------- less than
$lte --------- lt equal
$ne ----------- not equal
获取"col"集合中 "likes" 大于100,小于 200 的数据
db.col.find({likes : {$lt :200, $gt : 100}})
col 集合中的数据按字段 likes 的降序排列
db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
6 索引
db.col.ensureIndex({"title":1})
7.聚合
·