Nana's Blog

mongodb简单使用方法

  1. mongodb开机

    1
    mongod --dbpath D:\mongo\data
  2. 再打开一个CMD窗口,用mongo命令进入REPL环境

MongoDB常用REPL命令

  • 查看数据库列表:

    1
    show dbs
  • 使用某一个数据库,如果不存在则创建(当你插入了一个数据之后创建)

    1
    use xuesheng
  • 插入数据,这条命令会自动创建集合banji1120。也就是说创建数据库用use,创建集合没有命令。插入文档了,就创建集合了。

    1
    db.banji1120.insert({"uname":"小明","age":12,"sex":"男"})
  • 显示所有数据

    1
    db.banji1120.find()
  • 显示当前数据库中的所有集合

    1
    show collections
  • 删除集合

    1
    db.bangi1120.drop()
  • 删除数据库:

    1
    db.dropDatabase()

导入数据

下面的命令不需要进入REPL环境!!
数据库仍然要维持开机状态。再次强调,千万不要进入REPL中使用下面的命令!

1
mongoimport -d xuesheng -c banji1120 C:\Users\Danny\Desktop\1.txt

-d参数表示需要往哪个数据库中导入数据
-c 参数表示需要往哪个集合中导入数据
最后罗列需要导入的txt文档。

数据库里面的增删改查

  • 多个条件(and),用逗号
    寻找姓名是刘备且年龄是12的人

    1
    db.collection("banji1120").find({"xingming": "刘备" , "nianling" : 12})
  • 或者(or),用数组
    寻找年龄大于13岁的男人,或年龄大于5岁的女人

    1
    2
    3
    db.collection("banji1120").find(
    {$or : [{"nianling" : {$gt : 13} , "xingbie" : "男"} , {"nianling" : {$gt : 5} , "xingbie" : "女"}]}
    )
  • $gt表示大于,$lt表示小于
    寻找数学成绩大于70

    1
    db.collection("banji1120").find({"score.shuxue":{$gt:70}})
  • 数据库排序:”1”是从小往大排; “-1”从大往小排;

    1
    db.collection("banji1120").find().sort( { "borough": 1, "address.zipcode": 1 } )
  • 改数据$set

    1
    2
    3
    db.collection("banji1120").updateOne(
    {"xingming":"刘备"},{$set : {"nianling":45}}
    )
  • 删:删除数据库中指定的数据

    1
    db.collection("banji1120").remove({title:'haha'}
  • 排序和分页

    1
    db.collection(collectionName).find(json).limit(limit).skip(skip).sort({time:1})
  • 得到数据总量

    1
    db.collection("banji1120").find().count()