如果数据不存在或存在且早于...,我尝试使用条件过滤一些结果
我有使用 PHP 查询构建器的查询构建
->addOr(
['interactions.lastDisplays' => ['$elemMatch' => [
'user' => new \MongoId($id),
'date' => ['$lte' => $date]
]]],
['interactions.lastDisplays.user' => ['$ne' => new \MongoId($id)]]
)
它记录到:
db.Post.find({
"$or": [
{ "interactions.lastDisplays": {
"$elemMatch": { "user": ObjectId("5a61bb816e0bb1542a0bc574"),
"date": { "$lte": new ISODate("2019-06-14T13:22:01+00:00") } } } },
{ "interactions.lastDisplays.user": {
"$ne": ObjectId("5a61bb816e0bb1542a0bc574") }
}]
}).limit(25).skip(0);
由于某种原因,它不会在 PHP 中返回任何结果。当我复制它并直接在数据库上运行时,它工作正常,并返回所有 25 个结果。