mongo常用sql

 基本查询  db.getCollection('chdr').find({chdrnum:"test123456"}) 

lookup关联查询 db.getCollection ( ' chdr ' ) . aggregate  ( [ { " $lookup " : { " localField" : "chdrnum" , "as" : "y" , "foreignField" : "chdrnum" , "form" : "ptrn" } }, {"$match" : {"y.transaction.validflag" : "1" , "y.transaction.createdate" : "2018-08-29","y.transaction.batctrcde" : "T642" } } ] )

批量查询 db.getCollection('chdr').find({chdrnum:{$in:["test123456","test123457","test123459"]}})

组合字段查询 db.getCollection('chdr').aggregate([{ $project : { date : { $concat : ["$createdate" , "  " , " $createtime " ] } } },{ $match : {date : {$gte:"2018-11-20 00:00:00"}}}])

mongo查询关键词:

    $gt : mongo >

    $lt : mongo  <

    $gte : mongo > =

    $lte : mongo < = 

    $match : 精确匹配

    count : 统计

    $sum :  统计合计

    $cnttype  : 取字段值

    $lookup : 联合查询

    $group : 分组

    $project : 统计分组

   as : 联合查询关键字

    foreignField : 联合查询 联合字段

   localField : 联合查询 联合字段

  from  : 联合文档关键字

    $and :  且条件

     $or : 或条件

   $unwind 根据节点拆分

mongo 创建索引 db.collection.ensureIndex({"字段名":"1"})

mongo 查找索引db.system.indexes.find()

mongo 查询当前集合所有索引 db.collection.getIndexes()

mongo 删除指定索引 db.collection.dropIndex("")

条件查询

{$where:"this.mp!=this.sp"}

综合判断 同一个document两个值不相等且某一值不为空

find({cnttype:"",$and:[{$where:"this.renewal.btdate !=this.renewal.ptdate"},{"renewal.btdate":{$ne:""}}]}) 

更新节点

db.xxx.update({xxx:'xxx','xxx.xxx.xxx':'xx'},{$set:{'xxx.0.xxx.$.xxx':'xx'}},{multi:true}})

talk is cheap. show me the code.
原文地址:https://www.cnblogs.com/yushizhang/p/10032142.html