【MongoDB初识】-增删改

时间:2022-05-12 14:32:53

1、切换数据库

   admin数据库:use admin

   test数据库:use test

2、新增:

  方法一(首选)

    c={name="初一",teacher:"小张",stuCount:50}
db.class.save(c)
或者db.class.insert(c)

  方法二

db.class.insert({name:"初一",teacher:"小张",stuCount:50})

注意的是,保存同一个会提示ObjectId不能重复  

 【MongoDB初识】-增删改

3、删除

db.class.remove({name:"初一"})

4、修改

  修改teacher字段值(只会修改满足条件一条)

db.class.update({name:"初一"},{$set:{name:"初一",teacher:"hehhe",stuCount:50}})

  修改满足条件的所有

db.class.update({name:"初一"},{$set:{name:"初一",teacher:"tt",stuCount:20}},{multi :true})

  另外一种更新不到就新增

 db.class.update({name:"初一"},{$set:{name:"初一",teacher:"hehhe",stuCount:50}},{upsert:true})

5、查询

  不带任何条件

db.class.find()

  查询name="初一"的数据

db.class.find({name:"初一"})

  查询stuCount>10的所有数据

db.class.find({"stuCount",{$gt:10}})

  查询stuCount<5的第一条数据

db.class.findOne({"stuCount":{$lt:5}})

  查询10>stuCount>5的数据

db.class.find({"stuCount":{$lt:10,$gt:5}})

  分页查询

db.class.find().skip(10).limit(5)

  查询有多少条数据

db.class.find().count()

  查询满足条件的有多少条数据

db.class.find({"stuCount",{$lt:10}}).count()

  分页查询中当前查询出的数量

db.class.find().skip(20).limit(10).count(true)

  **count()中不写ture,是全部总数

  带排序的分页

db.class.find().sort({"name",1}).skip(20).limit(10)

使用游标查询:

  遍历所有

var cursor=db.class.find()
while(cursor.hasNext()) printjson(cursor.next())

  使用游标下标(可能会出现溢出)

var cursor=db.class.find()
cursor[]

  使用数组下标

var arr=db.class.find().toArray()
arr[]

  forEach输出

db.class.find().forEach(printjson)

后面集中带条件的就不写了