mongodb

1.mongodb安装
mongod.exe --dbpath c:\data\db

mongodb成功开启:
默认配置:
host:127.0.0.1
port:27017

  • 修改配置
  • mongobooster

链接:http://pan.baidu.com/s/1jHHG5zK 密码:3pbi

2.{ read: 'secondaryPreferred' , bufferCommands: false}
//API调用记录
var mongoose = require('mongoose');
mongoose.Promise = require('bluebird');

//API旧库
var conn = mongoose.createConnection("mongodb://");

var apicallhistorySchema = mongoose.Schema({
    user_id: { type: String, index: true },
    product_name: { type: String },
 
}, { read: 'secondaryPreferred' , bufferCommands: false});

module.exports = conn.model('apicallhistories', apicallhistorySchema);

secondaryPreferred:读写分离;
bufferCommands:等待太久,没有then,也没有catch,false,等待太久,强制结束,throw err。

3.aggregate管道聚合
var date = new Date('2017-2-22');
var time = new Date('2017-2-1');

db.apicallhistories.aggregate(
        [
            { $match : { created_date : { $gt :time ,$lte : date} } },
           
            {$group:{_id :{user_id:"$user_id",method_name:"$method_name",status:"$status"},count:{$sum:1},
                    totalcost:{$sum:"$cost"},avg_timespent:{$avg:"$time_spent"},max_timespent:{$max:"$time_spent"},min_timespent:{$min:"$time_spent"}
                
            }}
        ]
    )
4.find
  • licenses_alls字段存在
db.enterprises.find({licenses_alls:{$elemMatch:{$ne:null}}})
db.enterprises.find({licenses_alls:{$ne:null}})
  • licenses_alls字段不存在
db.enterprises.find({judicial_freezes_alls:null})
  • licenses_alls字段存在,但是为空数组
db.enterprises.find({judicial_freezes_alls:{"$size":0}})
  • 包括null和没有这个字段
db.C.find({"c":null})
  • 仅仅null
db.C.find({"c":{"$in":[null],"$exists":true}})
5.update
  • 更新满足条件的多条记录
db.batchjobhistories.updateMany({name:"apiHistoriesToOts(test)"},{$set:{milestone:""}},{ multi: true,upsert: false});
  • 更新满足条件的一条记录
    db.batchjobhistories.update({name:"apiHistoriesToOts(test)"},{$set:{milestone:""}},{ multi: true,upsert: false});
- **更新满足多个件的记录**

var arr = ["56dd8ea15288f730bda692a2",
"56dd8ea15288f730bda692a7",
"56dd8f735288f730bda692a8",
"56dd8f954c6880c8b99787c7"]
db.apiwritefailedhistories.update( { "id" : {$in: arr}} , { $set : { "condition" : "true"} }, {upsert: true} )

#####5.$and、$or

db.enterprises.find({},{$or: [{resolveStatus: "待处理"}, {resolveStatus: "已完成"}], $and: [{zentao_task_id: {$ne: null}}, {zentao_task_id: {$ne: ""}}]})

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MongoDB常用操作 一、查询 find方法 查询所有的结果: select * from users;===d...
    止风者阅读 3,723评论 1 3
  • NoSql数据库优缺点 在优势方面主要体现在下面几点: 简单的扩展 快速的读写 低廉的成本 灵活的数据模型 在不足...
    dreamer_lk阅读 7,758评论 0 6
  • 1. MongoDB 简介 MongoDB是一个可扩展的高性能,开源,模式自由,面向文档的NoSQL,基于分布式文...
    rhlp阅读 4,831评论 0 3
  • 目录 查询操作 集合查询方法 find() 查询内嵌文档 查询操作符(内含 数组查询) "$gt" 、"$gte"...
    彩虹之梦阅读 4,661评论 0 1
  • Mongodb 配置选项 通常在mongod.conf中 配置文件 设置了配置文件后启动时以自定义的配置文件启动:...
    AkaTBS阅读 4,738评论 0 6