mongo库简单命令操作

多条数据修改

db.getCollection('license').update({"_id": ObjectId('123456')},{$set:{"type":"test"}},false,true);

//更新为此id值的某条数据,并将它的type字段赋值为test

最后一个参数:为flase代表只更新一条,为true代表更新所有

字段模糊查询

db.getCollection('license').count({state : 11,area_code:{"$regex": "4104"},catalogType:"食品经营许可证"})

db.getCollection('license').find({state : 11,area_code:{"$regex": "4104"},catalogType:"食品经营许可证"})

count为计数;find为显示出这些数据

Mongo库选择条件计数

db.getCollection('license_copy1').count({
    catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']},
    //license_number:{"$regex": /(/}
    license_number:/\(/
    });
    db.getCollection('license_copy1').count({
    catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']},
    //license_number:{"$regex": /(/}
    license_number:/\(/
});

Mongo修改括号中英文

db.getCollection('license').find({
  catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']}
}).forEach( 
    function(item) {
        var tmp = String(item.license_number)
        tmp = tmp.replace('(','(')
        tmp = tmp.replace(')',')')
        if (tmp == null){
            print(item.license_number)   
        } 
        item.license_number = tmp ;        
         db.getCollection('license').save(item);
    } 
  ).limit(100);

修改状态值为1,且为整型

db.getCollection('license').update({"state":11,syncState:{$ne:2},
catalogType:{$in:['不动产登记证明','中华人民共和国不动产权证书','中华人民共和国不动产权证']}
},{$set:{"syncState":NumberInt(1)}},false,true);

NumberInt(1):设置成整形格式,不然输出的是浮点型1.0

分组查重*

 DBQuery.shellBatchSize = 300;
db.getCollection('license').aggregate([
    {
        $match: {
            catalogType: {
                $exists: true
            },
            area_code: {
                $nin: ["410000"]
            }
        }
    },
    {
        $group: {
            _id: {catalogType:"$catalogType"},
            count: {
                $sum: 1
            }
        }
    },
	 { $match: { count: { $gt: 1 } } }
]);

match 第一个是搜索条件
group 这个是分组条件(每一个计数为1)
match 这个是判断分组里面数量大于1的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB是一个基于文档的NoSQL数据,它的数据存储格式与传统的关系型数据有所不同。在使用MongoDB时,需要先安装MongoDB并启动MongoDB服务,然后使用MongoDB的客户端连接数据进行操作。以下是MongoDB的一些基础使用命令: 1. 连接到MongoDB数据 ```bash mongo --host <hostname> --port <port> ``` 其,`<hostname>`和`<port>`是MongoDB服务器的主机名和端口号,默认的主机名为localhost,端口号为27017。 2. 创建一个新的数据 ```bash use <database_name> ``` 其,`<database_name>`是要创建的数据名称。 3. 创建一个新的集合(类似于关系型数据的表) ```bash db.createCollection("<collection_name>") ``` 其,`<collection_name>`是要创建的集合名称。 4. 插入一条文档(类似于关系型数据的行) ```bash db.<collection_name>.insertOne({<document>}) ``` 其,`<collection_name>`是要插入文档的集合名称,`<document>`是要插入的文档内容,以JSON格式表示。 5. 查询文档 ```bash db.<collection_name>.find({<query>}) ``` 其,`<collection_name>`是要查询的集合名称,`<query>`是查询条件,以JSON格式表示。 以上是MongoDB的一些基础使用命令,更多命令可以参考MongoDB官方文档。 在Express项目使用Mongoose可以更方便地操作MongoDB数据Mongoose是一个Node.js的ORM,可以用来定义数据模型、进行数据验证、执行查询等操作。以下是在Express项目使用Mongoose的简单示例: 1. 安装Mongoose ```bash npm install mongoose ``` 2. 连接到MongoDB数据 ```javascript const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost:27017/mydb', { useNewUrlParser: true }); ``` 其,`mydb`是要连接的数据名称。 3. 定义数据模型 ```javascript const Schema = mongoose.Schema; const userSchema = new Schema({ name: String, age: Number, email: String, }); const User = mongoose.model('User', userSchema); ``` 4. 插入一条文档 ```javascript const user = new User({ name: 'Alice', age: 20, email: 'alice@example.com', }); user.save(); ``` 5. 查询文档 ```javascript User.find({ name: 'Alice' }, (err, users) => { console.log(users); }); ``` 以上是在Express项目使用Mongoose的简单示例,更多使用方法可以参考Mongoose官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值