MongoDb在Document's Collection中搜索只返回完全匹配的结果-为什么?
本文关键字:结果 为什么 返回 Document 搜索 Collection MongoDb | 更新日期: 2023-09-27 18:08:38
我试图找到一个用户名和密码匹配。我有一个办公室集合,每个办公室文档包含许多用户
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;
上面的查询返回null。尽管它应该得到结果。OfficeUser类有三个属性,用户名、密码、名称。Mongo强迫我在查询中匹配所有三个属性,所有我想要的是有2个属性匹配(用户名和密码)为了得到结果,怎么才能做到呢?没有好的文档。
谢谢!
var filter = builder.ElemMatch(o => o.Users, user => user.Username == username && user.Password == password);
使用ElemMatch解决了这个问题,但仍然不理解第一次尝试背后的逻辑