假设我有一个名称列表,并且想要匹配不属于其中的文档:
{ firstname: { $not: { $in: ["Alice", "Bob"] } } }
但是现在我必须匹配名字+姓氏(即给定的列表是["Alice Smith", "Bob Jones"])。
我知道我可以像这样轻松地连接两个字段:
{ $concat: ["$firstname", " ", "$lastname"] }
但是我如何在初始查询中使用这个新的“字段”,就像我在firstname那里使用的那样?显然,我不能只用这个表达式替换对象键。
这个答案非常接近,但不幸的是,它缺少关于在$in上下文中究竟如何使用该解决方案的最后一条信息。而且由于我认为这是一个一般用法问题,但找不到任何关于它的信息(至少使用我使用的搜索词),我正在打开这个单独的问题。
编辑:如果可能的话,我想避免使用聚合。我要查找的查询应该用作节点驱动程序方法filter的参数。deleteMany