我爱编程

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.聚合

·

上一篇下一篇

猜你喜欢

热点阅读