小编Bri*_*ver的帖子

ngOptions可以调用函数来获取显示文本吗?

我有一个select标签,我使用AngularJS绑定到一系列无线电台对象.我的对象具有以下属性:

{
    id: 'WXYZ',
    name: 'Radio Station Name (optional)',
    frequency: '89.7 FM'
}
Run Code Online (Sandbox Code Playgroud)

我希望下拉列表中的每个元素都显示"{id} - {name} - {frequency}"作为显示文本,但由于name属性是可选的,所以我希望避免双重破折号object没有名称的值.

我能够让这个工作:

<select ng-model="StationPreference" ng-options="s.id+ ' - ' + s.name + ' - ' + s.frequency for s in stations">
    <option value="">-- select --</option>
</select>
Run Code Online (Sandbox Code Playgroud)

在ng-options中调用函数的规则/指南/最佳实践是什么?我想做类似的事情getDisplayText(s)- 是什么让表达"对角有效"?该功能是否必须在范围内定义?可以是任何外部定义的功能吗?这是所需功能的最佳方法吗?

javascript angularjs

9
推荐指数
2
解决办法
1万
查看次数

MongoDB C#驱动程序 - 如何查询子文档数组的属性

假设我在MongoDB中有以下文档结构.

{
    _id: ####,
    Ancestors: [
        { _id: 1, Name: "asdf" },
        { _id: 2, Name: "jkl;" },
        ...
    ]
}
Run Code Online (Sandbox Code Playgroud)

我想找到包含Ancestor的每个文件,其中祖先的_id是2.

我可以使用以下命令在mongo shell中运行此查询: db.projects.find({"Ancestors._id": 2})

我也可以使用官方C#驱动程序运行此查询: Query.EQ("Ancestors._id", new BsonInt32(rootProjectId)).

这是我的POCO; 我正在使用的实际类具有比这更多的属性,但我不想用不必要的细节来混淆问题:

public class Project
{
    public int Id { get; set; }
    public List<ProjectRef> Ancestors { get; set; }
}

public class ProjectRef
{
    public int Id { get; set; }
    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何使用C#驱动程序编写强类型查询,以便我不必将"Ancestors._id"作为字符串传入?我希望能够做类似的事情,Query<Project>.EQ(p => p.Id, rootProjectId)以便我可以使用成员表达式,让类映射告诉驱动程序它应该使用"Ancestors._id".

c# mongodb mongodb-query mongodb-.net-driver

8
推荐指数
1
解决办法
1万
查看次数