mongodb 如何在ODM中写普通搭配表达

bqucvtff  于 2023-04-29  发布在  Go
关注(0)|答案(1)|浏览(92)

我有很大的管道,我现在写的原则ODM,目前与管道我得到这些类型的文件:

{
"_id":"M-1ea13520-7c30-4482-b5bf-2f8467aa1735",
"chatId":"C-91772cdf-c10b-4faa-9536-98a65554356c",
"publishedAt":{"$date":{"$numberLong":"1696322511000"}},
"lastSeen":{"$date":{"$numberLong":"1696204800000"}}
}

现在我只是想做一个简单的匹配查询,在普通的mongodb中工作,看起来像这样:

{
    $match:
      {
        $expr: {
          $lt: ["$lastSeen", "$publishedAt"],
        },
      },
  },

这是有效的,现在我只是想把它转录成这样的ODM原则:

->match()->field('$lastSeen')->lt('$publishedAt')

但我不断收到错误:unknown top level operator: $lastSeen. If you have a field name that starts with a '$' symbol, consider using $getField or $setField.
我能做些什么呢?在ODM中,你是如何做到这一点的?

rryofs0p

rryofs0p1#

好吧,我自己做到了:

->match()->addAnd(['$expr' => ['$lt' => ['$lastSeen', '$publishedAt']]])

相关问题