mongodb的操作

  1. 插入操作

    查询操作主要有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:会将数据库中已存在的记录的相应属性修改为新对象的属性。

  2. 基本查询操作

    db.user.find():返回user集合下的所有item

    db.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)

  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})

  4. 修改操作

    下面的操作将name为"daniel"的age修改为9

    db.user.update({name:"daniel"},{$set:{age:9}})

  5. 删除操作

    下面的操作将name为"daniel"的记录删除

    db.user.remove({name:"daniel"})







你可能感兴趣的:(mongodb的操作)