mongodb之增、删、改、查命令行

来源:互联网 发布:java源文件的扩展名 编辑:程序博客网 时间:2024/06/06 01:26

注:mongodb中的表被称之为“集合”,即一个集合就是一个表——collection

假定一个集合名称为userTable,其中含有字段:name,age,sex,level,grade

选择需要使用的数据库名  use dbName
一、按条件查询某条数据: db.collectionName.find({"colName":"value"})
                                    或: db.getCollection('collectionName').find({"colName":"value"})
       例: 在userTable集合中查询name字段值为“张三”的数据:
               db.userTable.find({"name":"张三"})       

二、修改数据:

db.collectionName.update({"colName":"value"},{$set:{改动值}},upsert,multi)
注:upsert和multi均为布尔值,默认情况下值均为false
1. $gt用法:筛选大于某个值的数据

例:将grade大于90的数据项的level值设置为优秀(此时没有设定upsert和multi的值,默认为false,因此只修改了第 一条符合条件的数据,若设置upsert的值为true,当集合里没有查询到符合条件的数据时就会自动插入一条符合条件的数 据):

db.userTable.update({"grade":{$gt:90}},{$set:{"level":"优秀"}})

将grade大于90的数据项的level值设置为优秀(此时设定multi的值为true,因此会修改所有符合条件的数据项 ):

db.userTable.update({"grade":{$gt:90}},{$set:{"level":"优秀"}},false,true)


 2.$ db.collectionName.save({obj})当集合内存在一条和obj相同id的数据,则已存在的那条会被该obj替换;若不存在,则会将obj插入集合中

3.$inc用法:{$inc:{colName:value}},将一个数字字段的某个colName增加value

例:将name为“张三”的数据项的age值加“1”
 db.userTable.update({name:"张三"},{$inc:{age:1}})  


4.$unset用法: {$unset:{colName:1}},删除某个字段的值

例:将name为“张三”的数据项的age字段删除“

 db.userTable.update({name:"张三"},{$unset:{age:1}})


5.$push用法:{$push:{colName:value}},将value添加到colName中,colName必须为数组类型,若colName不存在,则会自动插入一条数组类型的colName,$pushAll用法类似,只是可以添加多个值

例:db.userTable.update({name:"张三"},{$push:{"hobby":"dancing"}})

        db.userTable.update({name:"张三"},{$pushAll:{"hobby":"singing","reading"}})


6.$pull用法: {$pull:{colName:value}} ,将数组colName的某一个值删除,$pullAll用法类似,可以删除一个数组里面的多个值

例:db.userTable.update({name:"张三"},{$pull:{"hobby":"dancing"}})

       db.userTable.update({name:"张三"},{$pullAll:{"hobby":"singing","reading"}})


 7.$rename用法:{$rename:{"colName":'newColName'}},对表格里的字段进行重命名

例:db.userTable.update({name:"张三"},{$rename:{"name":"userName"}})


三、添加数据
db.userTable.insert({colName1:value1,colName2:value2,colName3:value3...})

四、删除数据

db.userTable.remove({colName:value}),按条件删除某条数据,如果不填条件,则会删除整个集合(表)里的数据


五、删除集合

db.userTable.drop(),删除数据库里名为userTable的集合。可通过“show collections”命令查看是否删除成功


六、删除数据库

1.use dbName     2.db.dropDatabase()

查看数据库是否删除成功:show dbs