zoukankan      html  css  js  c++  java
  • mongodb 操作

    1、查询ID最大的数据

    以下两种查询方式是一样的结果

    db.getCollection('PbocJson').find({}).sort({
    _id: -1 // -1为降序排序 1位升序排序
    })
    .skip(20) //跳过前面或者后面20条 条数可更改
    .limit(1) //获取记录的条数 条数可更改

    ;


    db.PbocJson.find({ }) //此处可添加查询条件 格式为json格式 如{id:1,name:"2"}
    .sort({
    _id: -1 // -1为降序排序 1位升序排序
    })
       .skip(20) //跳过前面或者后面20条 条数可更改
    .limit(1) //获取记录的条数 条数可更改

    2、条件查询

    大于等于小于等条件 ($ne,$le,$lte,$gt,$gte)
    db.PbocJson.find({ _id: { $ne:
    2 //查询id不等于2的数据 } })

    like语句(NoSqlBooster客户端,其他如notContains,startWith,endWith notStartWith,notEndsWith)

    db.PbocJson.find({
      pbocJson: mb.regex.contains("2")  //pbocJson字段中包含 2 类似于sql语句的like关键字
    })

    IN语句($nin语句  如not in)

    db.PbocJson.find({
    pbocJson: {
    $in: [1, 2, 3]
    }
    })

    exist语句判断字段是否存在

    db.PbocJson.find({
    _id: {
    $exists: true  //true为 exist  false为 not exist
    }
    })

    查询某个字段为某种类型的语句(mongodb相同字段可以有不同的类型)

    db.PbocJson.find({
    _id: {
    $type: "string"  //各种字段类型 如 int、long、decimal、double、bool、timestamp 类型为小写
    }
    })

    统计总条数

    db.PbocJson.find().count()

    3、保存数组和更新数组操作

    //保存一条语句
    db.PbocJson.insert({ name:
    'kad', tags: ['mongodb', 'database', 'NoSQL'], })

    //追加数据数组,不论元素是否存在数组中,都追加
    db.PbocJson.update({name : "kad"}, { $push : { tags : "mysql"}})
    //追加数据数组,如存在则不追加,不存在则追加,可保证无重复数据
    db.PbocJson.update({name : "kad"}, { $addToSet : { tags : "DB2"}})

    //删除数组数据,删除开头或末尾元素
    db.PbocJson.update({name : "kad"}, { $pop : { tags :-1}}) // -1表示开头元素 1表示末尾元素

    //插入两条数据
    db.PbocJson.insert(
    {
    _id: 3,
    fruits: [ "apples", "pears", "oranges", "grapes", "bananas" ],
    vegetables: [ "carrots", "celery", "squash", "carrots" ]
    })
    ;
    db.PbocJson.insert(
    {
    _id: 4,
    fruits: [ "plums", "kiwis", "oranges", "bananas", "apples" ],
    vegetables: [ "broccoli", "zucchini", "carrots", "onions" ]
    })

    //使用in查询插入的两条数据
    db.PbocJson.find({_id:{$in:[3,4]}})
    //使用pull更新数组数据 将fruits中的apples和orange删除,将vegetables中的carrorts删除
    db.PbocJson.update( { }, //{} 无任何条件,表示所有元素,否则可以指定元素 如{_id:{$in:[3,4]}}
    { $pull: { fruits: { $in: [ "apples", "oranges" ] }, vegetables: "carrots" } },
    { multi: true })

     

    mongoDb支持存储过程、索引、游标、正则表达式。

  • 相关阅读:
    Linux下使用ps命令来查看Oracle相关的进程
    虚继承、虚基类
    C++/C小知识点(2)
    C++中的运行中动态类型识别RTTI
    什么应该放在头文件?何为外连接?
    Placement new、operator new、new operator 完全释疑
    二叉搜索树
    Linux C编程学习资料,学习过程
    独立对象(非附属对象)大小
    编程珠玑第一章、第二章
  • 原文地址:https://www.cnblogs.com/hzzll/p/9529257.html
Copyright © 2011-2022 走看看