我正在使用ArangoDB,并查询名为movies
的集合。其数据结构是这样的,categories
是字符串列表。
public class movies
{
[DocumentProperty(Identifier = IdentifierType.Key)]
public string Key;
public List<string> categories;
public string desc;
public string img;
public List<vod_stream> streams;
public string title;
};
以下是查询语句:
var result = db.Query<movies>()
.Where(p => p.categories.Contains(id));
传递id
作为参数,我需要检索所有分类与此id
匹配的电影。
然而,上面的代码无法正常工作,因为result
返回集合中所有电影。
foreach (movies mov in result)
{
if (mov.categories.Contains(id) == false)
{ continue; }
// do something here
}
奇怪的是,当我循环遍历结果中的项时,对于某些项,相同的函数确实返回
false
。但它在Linq语句中就是不起作用。有人知道我的查询语句有什么问题吗?
if(!mov.categories.Contains(id))
。 - MakePeaceGreatAgain