查找在List< valuettype >中有特定字段值的BsonDocuments
本文关键字:字段 BsonDocuments List valuettype 查找 | 更新日期: 2023-09-27 18:02:50
我在MongoDB数据库中有两个集合。Collection1
有一个类型为Guid
(实际上是string
)的字段,名为Col2DocRef
,它引用了Collection2
中文档的_id
。
我目前有一个List<Guid>
表示Collection2
中的文档的_id
s。我想在Collection1
中找到所有文档,其中Col2DocRef
字段等于List<Guid>
中的任何值。
使用AnyIn
是正确的方法吗?
List<Guid> guids = ... // Creating by searching in Collection2 and deserializing
Builders<BsonDocument>.Filter.AnyIn("Col2DocRef", guids);
您可以像下面这样直接使用FindAsync()
传递过滤器,假设这些集合在您的应用程序接口中具有相应的强类型POCO。
List<Guid> guids = ... // Creating by searching in Collection2 and deserializing
var collection = db.GetCollection<Collection1>("Collection1");
var result = collection.FindAsync(col => guids.Contains(col.Id)).ToListAsync();