Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在mongodb的filter中使用自己的元素筛选文档_Mongodb - Fatal编程技术网

如何在mongodb的filter中使用自己的元素筛选文档

如何在mongodb的filter中使用自己的元素筛选文档,mongodb,Mongodb,我有一个场景,我需要从同一个集合中获取“CreatedDatetime”大于“Deal.SourceStartDatetime”的所有文档 { "DealNumber": "AAAAAA", "CreatedDatetime": "2021-01-25T21:14:39.670Z", "BatchIdentifier": "ebe4d466-77777-4b8b-

我有一个场景,我需要从同一个集合中获取“CreatedDatetime”大于“Deal.SourceStartDatetime”的所有文档

{
    "DealNumber": "AAAAAA",
    "CreatedDatetime": "2021-01-25T21:14:39.670Z",
    "BatchIdentifier": "ebe4d466-77777-4b8b-b965-22ebf04de85e",
    "EventName": "DEAL_Insert",
    "LastUpdateDatetime": "2021-01-25T21:14:39.670Z",
    "MessageIdentifier": "5fcfb89d-3cf6-57e4-9d5c-e0141700852b",
    "SourceDeleteIndicator": "N",
    "TransactionIdentifier": "a80cdc54-12d7-434e-bc03-5d9c2b75b1f8",
    "DealLastUpdateDatetime": "2021-01-20T17:51:36.644Z",
    "Deal": {
        "AgreementName": "xxxx",
        "SourceEndDatetime": "2021-01-20T17:51:36.644Z"
        "SourceStartDatetime": "2021-01-20T17:51:36.644Z"        
    }
}

{
    "DealNumber": "BBBBBB",
    "CreatedDatetime": "2021-01-20T17:51:36.644Z",
    "BatchIdentifier": "ebe4d466-77777-4b8b-b965-22ebf04de85e",
    "EventName": "DEAL_Insert",
    "LastUpdateDatetime": "2021-01-25T21:14:39.670Z",
    "MessageIdentifier": "5fcfb89d-3cf6-57e4-9d5c-e0141700852b",
    "SourceDeleteIndicator": "N",
    "TransactionIdentifier": "a80cdc54-12d7-434e-bc03-5d9c2b75b1f8",
    "DealLastUpdateDatetime": "2021-01-20T17:51:36.644Z",
    "Deal": {
        "AgreementName": "xxxx",
        "SourceEndDatetime": "2021-01-20T17:51:36.644Z"
        "SourceStartDatetime": "2021-01-20T17:51:36.644Z"        
    }
}
示例:下面是来自同一集合的两个文档

{
    "DealNumber": "AAAAAA",
    "CreatedDatetime": "2021-01-25T21:14:39.670Z",
    "BatchIdentifier": "ebe4d466-77777-4b8b-b965-22ebf04de85e",
    "EventName": "DEAL_Insert",
    "LastUpdateDatetime": "2021-01-25T21:14:39.670Z",
    "MessageIdentifier": "5fcfb89d-3cf6-57e4-9d5c-e0141700852b",
    "SourceDeleteIndicator": "N",
    "TransactionIdentifier": "a80cdc54-12d7-434e-bc03-5d9c2b75b1f8",
    "DealLastUpdateDatetime": "2021-01-20T17:51:36.644Z",
    "Deal": {
        "AgreementName": "xxxx",
        "SourceEndDatetime": "2021-01-20T17:51:36.644Z"
        "SourceStartDatetime": "2021-01-20T17:51:36.644Z"        
    }
}

{
    "DealNumber": "BBBBBB",
    "CreatedDatetime": "2021-01-20T17:51:36.644Z",
    "BatchIdentifier": "ebe4d466-77777-4b8b-b965-22ebf04de85e",
    "EventName": "DEAL_Insert",
    "LastUpdateDatetime": "2021-01-25T21:14:39.670Z",
    "MessageIdentifier": "5fcfb89d-3cf6-57e4-9d5c-e0141700852b",
    "SourceDeleteIndicator": "N",
    "TransactionIdentifier": "a80cdc54-12d7-434e-bc03-5d9c2b75b1f8",
    "DealLastUpdateDatetime": "2021-01-20T17:51:36.644Z",
    "Deal": {
        "AgreementName": "xxxx",
        "SourceEndDatetime": "2021-01-20T17:51:36.644Z"
        "SourceStartDatetime": "2021-01-20T17:51:36.644Z"        
    }
}

您可以使用
$expr
$gt

db.collection.find({
  $expr: {
    $gt: [
      {$toDate: "$CreatedDatetime"},
      {$toDate: "$Deal.SourceStartDatetime"}
    ]
  }
})
工作

有帮助吗?