- 插入操作查询操作主要有insert 与 save方法,具体使用方法如下:
person = {name : "daniel", sex : "male", age : 8}
db.mydb.save(person)- 或
db.mydb.insert(person)
这样就可以将person这个对象保存到mongodb中了,但是save与insert两个方法有什么区别呢?
区别是:若插入记录时,显示指定了主键,而且数据库中存在与之相同的主键,这时insert和save的表现不一样:
insert : 会提示错误
save:会将数据库中已存在的记录的相应属性修改为新对象的属性。
- 基本查询操作db.user.find():返回user集合下的所有itemdb.user.findOne():返回第一条记录条件查询,下面的记录将查找name是"daniel", sex是"male"的记录
db.user.find({name : "daniel", sex : "male"})- 指定返回的键值对,下面的示例将只返回name与sex键值对
db.user.find({}, {name : 1, sex :1})
指定不返回的键值对,下面的示例将不返回age键值对
db.user.find({}, {age: 0})
限制返回的记录条数,下面的示例将只返回3条数据
db.user.find().limit(3)
- 复杂查询操作$gt,$lt,条件查询:大于,小于。下面的记录将查找age大于20的记录
db.user.find({"age": {$gt : 20}})
$gte,$lte,条件查询:大于等于,小于等于,下面的记录将查找age大于等于20的记录
db.user.find({"age" : {$gte : 20}})
条件查询,下面的记录将查找age大于20并且小于30的记录
db.user.find({"age" : {$gt : 20,$lt : 30}})
$exists,按照属性是否存在进行查找,查找存在age属性的记录
db.user.find({"age" : {$exists : true}})
$in,属性属在一些枚举值范围内,以下将查询age是23或30的记录
db.user.find({"age" : {$in : [23,30]}})
$in,属性属在一些枚举值范围内,以下将查询age是 null 的记录,注意此时没有age属性的记录也将查询出来
db.user.find({"age" : {$in : [null]}})
$in,属性属在一些枚举值范围内,以下将查询age是 null 并且存在age属性的记录
db.user.find({"age" : {$in : [null],$exists:true}})
$ne,不等于,以下将查询age不等于30的记录
db.user.find({"age" : {$ne : 30}})
$nin,属性不在一些枚举值范围内,以下将查询age不是null的记录
db.user.find({"age" : {$nin : [null]}})
正则表达式,将属性值符合正则表达式的记录找出来
db.user.find({"name" : /chenhai/})
count(),查询符合条件的记录条数
db.user.find({"name" : "chenhai"}).count()
sort(),查询符合条件的记录,,进行排序,以下语句将查询name为"chenhai"的记录,并按照年龄进行升序排序
db.user.find({"name" : "chenhai"}).sort({age : 1})- 修改操作下面的操作将name为"daniel"的age修改为9
1. db.user.update({name:"daniel"},{$set:{age:9}})- 删除操作下面的操作将name为"daniel"的记录删除
2. db.user.remove({name:"daniel"})
















