首页  编辑  

MongoDB中,NOT查询,MongoDB Compass MongoSh 指令

Tags: /超级猛料/Database.数据库相关/   Date Created:
MongoDB中,进行 NOT 查询,例如 status != 'D' 的数据:
{"status": {"$not": {"$eq": "A"}}}

MongoDB Compass,提供了一个Shell(Mongosh),可以输入一些指令运行:

使用数据库:
use 数据库名;

删除某个Collection(表)所有数据,类似于 delete from table:
db.表名.deleteMany({});

删除整个表,类似 drop table:
db.表名.drop();

备份整个表结构和数据,类似于克隆一个表出来:
db.表名.aggregate([{$match:{}}, {$out:"备份表名"}])

统计集合中文档的数量:
db.collection_name.countDocuments()

查询集合中的文档(select * from table where field = "value"):
db.collection_name.find({ field: "value" })

查看数据库列表:
show dbs

查看当前数据库中的集合列表:
show collections

查看集合中文档的大小:
db.collection_name.stats().size

克隆字段A为字段B
db.表名.find({}).forEach(function(doc) {
    db.表名.update(
        { "_id": doc._id },
        { "$set": { "新字段": doc.原字段 } }
    );
});

删除表字段:
db.表名.updateMany({}, { $unset: { "字段名": "" } })
重命名字段:
db.表名.updateMany({}, { $rename: { "字段名": "新字段名" } })

在MongoDB中,db.runCommand()是一个特殊的方法,它允许你直接执行数据库命令。这个方法支持执行各种数据库命令,称为"Database Commands"(数据库命令),这些命令可以用来管理数据库、执行操作和获取数据库信息等。

以下是一些常见的db.runCommand()支持的数据库命令:

  1. collStats: 获取集合的统计信息,例如文档数量、索引信息等。
  2. dbStats: 获取数据库的统计信息,例如数据大小、集合数量等。
  3. find: 执行查询操作,可以使用查询条件和投影操作指定返回的字段。
  4. count: 计算满足查询条件的文档数量。
  5. insert: 插入文档到指定集合。
  6. update: 更新符合查询条件的文档。
  7. delete: 删除符合查询条件的文档。
  8. createIndexes: 创建索引。
  9. dropIndexes: 删除索引。
  10. listIndexes: 列出集合中的所有索引。
  11. create: 创建新的集合。
  12. drop: 删除指定的集合。
  13. renameCollection: 重命名集合。
  14. listCollections: 列出当前数据库中的所有集合。

以上只是一些常见的数据库命令示例,实际上,MongoDB支持的数据库命令非常多,每个版本可能会有所变化。你可以查阅MongoDB官方文档或使用db.runCommand({listCommands: 1})来获取当前版本支持的所有数据库命令列表。

在使用db.runCommand()时,注意传递的命令应该是一个JavaScript对象,例如:db.runCommand({ collStats: "collection_name" })。确保了解每个命令的用法和影响,以免造成不可逆的数据操作。