zoukankan      html  css  js  c++  java
  • mongodb的常用操作(二)

    继续mongodb的学习:

    9.mongodb条件查询

    假设有user集合,里面结构如下:
    { "_id" : ObjectId("52ab35d281181f85326409da"), "uname" : "jiangwang", "pwd" : 1
    23456, "age" : 111 }
    { "_id" : ObjectId("52ab35d281181f85326409db"), "uname" : "jiangwang", "pwd" : 1
    23456, "age" : 12 }
    { "_id" : ObjectId("52ab35d281181f85326409dc"), "uname" : "jiangwang", "pwd" : 1
    23456, "age" : 24}
    { "_id" : ObjectId("52ab35d281181f85326409dd"), "uname" : "jiangwang", "pwd" : 1
    23456, "age" : 111 }
    { "_id" : ObjectId("52ab35d281181f85326409de"), "uname" : "jiangwang", "pwd" : 1
    23456, "age" : 112 }
    { "_id" : ObjectId("52ab35d281181f85326409de"), "uname" : "jiangwang", "pwd" : 1
    23456, "age" : null }
    { "_id" : ObjectId("52ab35d281181f85326409de"), "uname" : "jiangwang", "pwd" : 1
    23456 }

    db.user.find({age:24}); //查找test集合中age等于24的行
    db.user.find({age:{$lt:30,$gt:20}}); //查找test集合中age字段20到30之间的行
    db.user.find({age:{$ne:24}}; //查找user集合中age不等于24的行

    $lt表示litter than,小于
    $gt表示greater than,大于
    $lte表示litter than or equal, 小于等于
    $gte表示greater than or equal,大于等于
    $ne表示not equal, 不等于

    db.user.find({age:{$exists:true}}); //查找存在age的行
    db.user.find({age:{$ne:24,$exists:true}}); //查找age存在并且不等于24的行

    db.user.find({age:null}); //查找age不存在或者为null的行
    db.user.find({age:{$in:[null],$exists:true}}); //查找age存在并且为null的行

    $in表示包含
    db.user.find({age:{$in:[24,112]}}); //查找age在24或112的值

    db.user.find({age:{$nin:[24,112]}}); //查找age除24,112以外的值

    $nin表示不在范围中

    //正则表达式查询, 正则表达式以/.../格式
    db.user.find({name:/jiang.*/}); //查找name以jiang开头的行
    db.user.find({name:{$not:/jiang.*/}}); //查找name不以jiang开头的行

    db.user.count(); //统计行数
    db.user.skip(1).limit(1); //跳过第一条,从第二条开始显示一行

    db.user.find().sort({age:1});//按照年龄升序排列
    db.user.find().sort({age:-1});//按照年龄降序排列

    10.mongodb的存储过程
    mongodb也提供了存储过程,使用js写,需要保存到system.js集合中
    例如,将下面这个求和的js函数做成一个存储过程:
    function add(x,y){
    return x+y;
    }

    //保存mongodb的存储过程
    db.system.js.save({_id:"add",value:function(x,y){return x+y;}});
    //利用存储过程计算结果
    db.eval('add(1,2)');

    //也可以直接写函数
    db.eval(function() {return 1+1;});

  • 相关阅读:
    寒假作业1实践题
    寒假作业1问答题
    (1.21)思考题
    [golang note] 匿名组合
    [golang note] 类型系统
    [golang note] 错误处理
    [golang note] 函数定义
    [golang note] 流程控制
    [golang note] 内建类型
    [golang note] 数组切片
  • 原文地址:https://www.cnblogs.com/jiangwang2013/p/3665300.html
Copyright © 2011-2022 走看看