根据值筛选器从数组中选择字段
Selecting field from array based on a value filter
对于Angular(和整个MEAN堆栈)来说是非常新的。
我有一个MongoDB数据库集合如下:
db.users({
username: "Test1",
fname: "Bob",
lname: "Saget",
email: "test@test.com",
password: "12345",
status: [{
active: false,
"non-active": false,
suspended: true,
"un-confirmed": false,
banned: false
}]
})
我只是希望将所有用户打印到屏幕上。而且一直都很成功,就像这样。
<tr ng-repeat="user in users">
<td>{{user.username}}</td>
<td>{{user.fname + ' ' + user.lname}}</td>
<td>{{user.email}}</td>
<td>{{user.password}}</td>
<td></td>
</tr>
我的问题是试图根据布尔值显示状态数组的字段(而不是值)。因此,在示例中,它将在页面中读取'suspended'而不是'true'(并且只带回真实值-只有一个)。
我是不是变得对眼了,对于这种类型的功能,是否有更好的数据库结构来坚持?
我试过用filter:{}选项组合ng-if和ng-repeat。
如果需要,我可以提供更多的细节。
你们会怎么做?
多谢
获得用户后,您可以遍历他们并像这样更新状态。
angular.forEach($scope.users, function(a, b){
var user = a;
var status = a.status[0]; // <-- because your status are an array we pick the first one.
for (var k in status) {
if (status.hasOwnProperty(k)) {
if (status[k]) { // <-- if status is true then get the key.
user.status = k; // <-- set the user status object to the key.
}
}
}
});
您可以将user.status = k
更改为任何您想要的,将其设置为status将覆盖状态数组。
工作示例-> http://jsbin.com/zarulo/1/edit?html,js,output
希望这对你有帮助!
相关文章:
- Jquery 读取编号组中选择下拉列表的数组
- Javascript:从数组中的对象中选择属性
- Javascript没有从数组中选择背景颜色
- 如何从数组中选择特定标记
- 使用JavaScript或jQuery检查单选按钮选择是否与数组中的项目匹配
- jquery从多维数组中进行动态相关选择
- 如何在javascript中使用click函数选择数组元素
- 构建HTML选择字段并使用JavaScript数组选择选项
- 将增量计数器连接到 JSON 响应循环中的数组选择器的末尾
- 使用 jQuery 使用 id 数组选择元素
- Jquery循环数组选择器与自定义元素ID的
- 转换后的 JSON 数组选择
- 对象数组-选择数组子集,其中对象属性为值数组
- knockoutjsforeach数组选择项值绑定
- 数组选择中的Javascript对象
- 按属性值的数组选择器函数
- 警告JS数组选择
- Javascript 和 HTML mix(数组选择)
- 作为jquery变量的值数组选择器
- 统一更新数组选择值