MongoDb 在文档集合中搜索 returns 只有完全匹配的结果 - 为什么?

MongoDb Search in Document's Collection returns only fully matched result - Why?

我正在尝试查找用户名和密码匹配的用户。 我有一个办公室集合,每个办公室文档都包含许多用户

var builder = Builders<MnOffice>.Filter;

            var filter = builder.AnyEq(o => o.Users, new OfficeUser()
            {
                Username = username,
                Password = password
            });
            var office = await Offices.Find(filter).FirstOrDefaultAsync().ConfigureAwait(false);
            return office;

以上查询returns 为空。虽然它应该得到结果。 OfficeUser class 具有三个属性, 用户名、密码和姓名。 Mongo 强制我所有三个属性都将在查询中匹配, 我想要的只是有 2 个属性匹配(用户名和密码) 为了得到结果, 怎样才能做到呢?没有好的文档。

谢谢!

 var filter = builder.ElemMatch(o => o.Users, user => user.Username == username && user.Password == password);

解决了使用 ElemMatch 的问题,但仍然不理解第一次尝试背后的逻辑。