mongodb-常用命令

1.要从MongoDB中删除不在某个列表中的数据,您可以使用聚合管道的 `expr\` 操作符和 \`nin` 操作符

以下是一个示例,假设您有一个名为 `students` 的集合,其中包含一个 `name` 字段,您想要删除不在 `['Alice', 'Bob', 'Charlie']` 列表中的学生。

cs 复制代码
db.getCollection("semp_work_order_active").find({"orderCode" : { $in : ['DW-1311-20240525-9744150528000','DW-1311-20240522-8954433536000','DW-1311-20240522-9751815168000'] }}).limit(100000).skip(0)


db.getCollection("semp_work_order_active").remove( { _id: ObjectId("66513e3a491b0637bec40fa1") }, { justOne: true } )

在上面的示例中,`$$name` 是聚合管道中的变量,代表当前文档的 `name` 字段。`$nin` 操作符检查 `name` 是否不在 `['Alice', 'Bob', 'Charlie']` 列表中。

执行上面的命令后,所有不在 `['Alice', 'Bob', 'Charlie']` 列表中的学生将会被删除。

2.MongoDB中统计总数

db.semp_alarm_active.count()

3.mogodb删除数据

要从MongoDB中删除不在某个列表中的数据,您可以使用聚合管道的 $expr 操作符和 $nin 操作符。

以下是一个示例,假设您有一个名为 students 的集合,其中包含一个 name 字段,您想要删除不在 ['Alice', 'Bob', 'Charlie'] 列表中的学生。

复制代码
db.students.deleteMany(
  {
    $expr: { $nin: ['$$name', ['Alice', 'Bob', 'Charlie']] }
  }
)

在上面的示例中,$$name 是聚合管道中的变量,代表当前文档的 name 字段。$nin 操作符检查 name 是否不在 ['Alice', 'Bob', 'Charlie'] 列表中。

执行上面的命令后,所有不在 ['Alice', 'Bob', 'Charlie'] 列表中的学生将会被删除。

4.mongodb批量插入数据

在MongoDB中,批量插入数据可以通过以下几种方式实现:

  1. 使用`insertMany()`方法:

```javascript

const collection = db.get('myCollection');

const documents = [

{ name: 'John', age: 20 },

{ name: 'Jane', age: 25 },

{ name: 'Bob', age: 30 }

];

collection.insertMany(documents);

```

  1. 使用`bulkWrite()`方法:

```javascript

const collection = db.get('myCollection');

const operations = [

{ insertOne: { document: { name: 'John', age: 20 } } },

{ insertOne: { document: { name: 'Jane', age: 25 } } },

{ insertOne: { document: { name: 'Bob', age: 30 } } }

];

collection.bulkWrite(operations);

```

  1. 使用`forEach()`方法和`insertOne()`方法:

```javascript

const collection = db.get('myCollection');

const documents = [

{ name: 'John', age: 20 },

{ name: 'Jane', age: 25 },

{ name: 'Bob', age: 30 }

];

documents.forEach(document => collection.insertOne(document));

```

以上三种方法都可以实现批量插入数据,选择哪种方法取决于你的具体需求和喜好。

相关推荐
少云清几秒前
【金融项目实战】4_接口测试 _数据准备和清理
数据库·金融项目实战
疯狂的喵4 分钟前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
善木科研喵18 分钟前
IF5.9分,α-硫辛酸如何缓解化疗神经毒性?网络毒理学结合网络药理学双重锁定关键通路!
数据库·数据分析·r语言·sci·生信分析·医学科研
tb_first29 分钟前
万字超详细苍穹外卖学习笔记5
java·数据库·spring boot·笔记·学习·spring
星沙丘秋38 分钟前
Kettle9入门、使用经验与5个问题
数据库·sql·etl
sg_knight1 小时前
如何通过 SQL*Plus 连接 Oracle 数据库(使用 Instant Client)
运维·数据库·sql·oracle·database·关系型数据库·sql puls
Guheyunyi1 小时前
节能降耗系统从“经验直觉”推向“精准智控”
大数据·数据库·人工智能·科技·信息可视化
jiunian_cn1 小时前
【Redis】zset数据类型相关指令
数据库·redis·缓存
betazhou2 小时前
MySQL相关性能查询语句
android·数据库·mysql
jiunian_cn2 小时前
【Redis】set数据类型相关指令
数据库·redis·缓存