如何从特定操作系统筛选mongodb上的进程

如何从特定操作系统筛选mongodb上的进程,mongodb,mongodb-query,Mongodb,Mongodb Query,您好,我想搜索一下mongo的当前流程, 我只想得到由特定操作系统完成的过程。通过示例窗口 运行下面的查询 db.aggregate( [ { $currentOp : { allUsers: true, localOps: true } }, { $match: { shard : 'shard-1' }} ]) 我得到了一个很大的结果。我需要过滤更多属性 我知道操作系统的信息。我可以从属性$client从命令property获得json结果: "command": {

您好,我想搜索一下mongo的当前流程, 我只想得到由特定操作系统完成的过程。通过示例窗口

运行下面的查询

db.aggregate( [
    { $currentOp : { allUsers: true, localOps: true } },
    { $match: {  shard : 'shard-1' }}
 ])
我得到了一个很大的结果。我需要过滤更多属性

我知道操作系统的信息。我可以从属性
$client
命令
property获得
json
结果:

"command": {

        "$client": {
            "driver": {
                "name": "nodejs",
                "version": "3.1.7-1"
            },
            "os": {
                "type": "Windows_NT",
                "name": "win32",
                "architecture": "x64",
                "version": "10.0.17763"
            },
            "platform": "Node.js v10.2.0, LE, mongodb-core: 3.1.6",
            "application": {
                "name": "NoSQLBoosterV5_91046.417"
            },
        },
        "$configServerState": {
            "opTime": {
                "ts": Timestamp(1553006039,
                5),
                "t": NumberLong(4)
            }
        },
        "$db": "cache"
    }

如何通过
os
类型进行过滤?

根据您的示例,简单的附加过滤器应该可以工作

db.aggregate( [
    { $currentOp : { allUsers: true, localOps: true } },
    { $match: {$and: [
         { shard : 'shard-1' },
         { "command.$client.os.type": "Windows_NT" }]
    }}
 ])
它对您有用吗?

使用此$filter:

过滤items数组以仅包括价格大于或等于100的文档

完整的例子是:

db.sales.aggregate([
   {
      $project: {
         items: {
            $filter: {
               input: "$items",
               as: "item",
               cond: { $gte: [ "$$item.price", 100 ] }
            }
         }
      }
   }
])
您可以在以下网站上阅读:

db.sales.aggregate([
   {
      $project: {
         items: {
            $filter: {
               input: "$items",
               as: "item",
               cond: { $gte: [ "$$item.price", 100 ] }
            }
         }
      }
   }
])