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

mongoDB基本操作(一)

2017-12-05 12:40 197 查看
创建数据库或切换数据库:user dbname

删除数据库:进入数据库 -> db.dropDatabase()

插入文档:db.collection_name.insert(document)

db.col.insert({title: 'MongoDB 教程',

    description: 'MongoDB 是一个 Nosql 数据库',

    by: 'w3cschool',

    url: 'http://www.w3cschool.cn',

    tags: ['mongodb', 'database', 'NoSQL'],

    likes: 100

})

查看文档:db.collection_name.find() 或者 db.collection_name.find().pretty()

更新文档:db.collection_name.update(criteria, objNew, upsert, multi )

    criteria : update的查询条件,类似sql update查询内where后面的。

    objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的

    upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

    multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

    具体博客参考:http://blog.csdn.net/sunnyyoona/article/details/52420210

删除文档:db.collection_name.remove()

    清空文档:db.col.remove({})

查询文档:db.collection_name.find()

    查询可使用的各种条件参考:https://www.w3cschool.cn/mongodb/mongodb-query.html

条件操作符:    

    (>) 大于 - $gt db.collection_name.find({key : {$gt : value}})

    (<) 小于 - $lt

    (>=) 大于等于 - $gte

    (<= ) 小于等于 - $lte

   

$type操作符:

    Double    1    

    String    2    

    Object    3    

    Array    4    

    Binary data    5    

    Undefined    6    已废弃。

    Object id    7    

    Boolean    8    

    Date    9    

    Null    10    

    Regular Expression    11    

    JavaScript    13    

    Symbol    14    

    JavaScript (with scope)    15    

    32-bit integer    16    

    Timestamp    17    

    64-bit integer    18    

    Min key    255    Query with -1.

    Max key    127    

    db.collection_name.find({key : {$type : value}})

limit + skip:

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

排序:

    db.collection_name.find().sort({KEY:1})

    其中 1 为升序排列,而-1是用于降序排列。

索引:

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

    Key 值为你要创建的索引字段,1为指定按升序创建索引,如果你想按降序来创建索引指定为-1即可。

    符合索引 ex:db.mycol.ensureIndex({"title":1,"description":-1})

    ensureIndex()更多使用http://blog.csdn.net/u013725455/article/details/52037897

聚合:(类似于count(*))

    db.collection_name.aggregate(AGGREGATE_OPERATION)

    ex : db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])

   
表达式描述实例
$sum计算总和。db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : "$likes"}}}])
$avg计算平均值db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$avg : "$likes"}}}])
$min获取集合中所有文档对应值得最小值。db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$min : "$likes"}}}])
$max获取集合中所有文档对应值得最大值。db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$max : "$likes"}}}])
$push在结果文档中插入值到一个数组中。db.mycol.aggregate([{$group : {_id : "$by_user", url : {$push: "$url"}}}])
$addToSet在结果文档中插入值到一个数组中,但不创建副本。db.mycol.aggregate([{$group : {_id : "$by_user", url : {$addToSet : "$url"}}}])
$first根据资源文档的排序获取第一个文档数据。db.mycol.aggregate([{$group : {_id : "$by_user", first_url : {$first : "$url"}}}])
$last根据资源文档的排序获取最后一个文档数据db.mycol.aggregate([{$group : {_id : "$by_user", last_url : {$last : "$url"}}}])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: