如何获取数组值并使用 Mongoose 进行结构化?

Posted

技术标签:

【中文标题】如何获取数组值并使用 Mongoose 进行结构化?【英文标题】:How to get the array value and in structurized using Mongoose? 【发布时间】:2017-08-25 08:25:47 【问题描述】:

我正在使用 MeanStack AngularJS。我像这样将值存储到 MongoDB 中:

数据格式

"RoleName" : "Verify",    
"IsActive" : true,
"UIList" : 
    
        "UiName": "One",
        "View" : false,
        "Edit" : false
    ,
    
       "UiName": "Two",
        "View" : false,
        "Edit" : false
    ,
    
        "UiName": "Three",
        "View" : false,
        "Edit" : false
    ,
    
        "UiName": "Four",
        "View" : false,
        "Edit" : false
    ,
    
        "UiName": "Five",
        "View" : false,
        "Edit" : false
    

控制器

$http.get('/Manage_Datashow').success(function (response) 
    $scope.Manage_Roleser = response;
);

服务器

app.get('/Manage_Datashow', function (req, res) 
    db.New_Role.find(function (err, docs) 
        console.log(docs);
        res.json(docs);
    );
);

在这里我附上了我的示例代码。我想使用ng-repeat绑定列表中的值。

我的代码:

<ul ng-repeat=Manage_Rolese in Manage_Roleser >
  <li>Manage_Rolese.UIList.UiName</li>
  <li>Manage_Rolese.UIList.View</li>
  <li>Manage_Rolese.UIList.Edit</li>
</ul>

例子:

我需要这样的输出。

【问题讨论】:

【参考方案1】:

首先,你的 json 不是一个有效的,请检查并浏览下面的片段

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) 
  $scope.Manage_Roleser =[ 
    "RoleName" : "Verify",    
    "IsActive" : true,
    "UIList" : [
            "UiName": "One",
            "View" : false,
            "Edit" : false
        ,
        
           "UiName": "Two",
            "View" : false,
            "Edit" : false
        ,
          
            "UiName": "Three",
            "View" : false,
            "Edit" : false
        ,
         
            "UiName": "Four",
            "View" : false,
            "Edit" : false
        ,
          
            "UiName": "Five",
            "View" : false,
            "Edit" : false
        ]
        ]
);
<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>document.write('<base href="' + document.location + '" />');</script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.4.x" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
 
 <div>
  
     <div  ng-repeat="i in Manage_Roleser[0].UIList">
       i.UiName | i.View   i.Edit
      
       
     </div>
   
 </div>
  </body>

</html>
根据需要添加标题。

【讨论】:

我是否要更新特定的视图编辑选项意味着查询外观如何帮助编写更新查询【参考方案2】:

试试这个

<html>
<body>
	<div Class="container" ng-app="myapp" ng-controller="namesctrl">
		
		<table>
			<thead>
				<th>
					UiName
				</th>
				<th>
					View
				</th>
				<th>
					Edit
				</th>
			</thead>
			<tr ng-repeat="mgr in Manage_Roleser.UIList">
				<td>
					mgr.UiName
				</td>
				<td>
				|mgr.View
				</td>
				<td>
					mgr.View
				</td>
			</tr>
		</table>
	</div>  


	<script Src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.js"></script>

	<script>
		var app=angular.module("myapp", []);
		app.controller("namesctrl", function($scope)

			$scope.Manage_Roleser= 
			
				"RoleName" : "Verify",    
    			"IsActive" : true,
				"UIList": [
				"UiName": "One",
				"View" : false,
				"Edit" : false
			,
				"UiName": "Two",
				"View" : false,
				"Edit" : false
			,
			
				"UiName": "Three",
				"View" : false,
				"Edit" : false
			,
			
				"UiName": "Four",
				"View" : false,
				"Edit" : false
			,
			
				"UiName": "Five",
				"View" : false,
				"Edit" : false
			]
		
			

		);



	</script>
</body>
</html>

【讨论】:

嗨@saurabh 请验证我的数据 "RoleName" : "Verify", "IsActive" : true, 第三列是 UIList 内的 UIList 这些数据的存储 感谢支持 UIList 将是一个数组。正如我在我的解决方案中提到的 我看到了,但是当我从 db 获取值时,只能工作 我不知道你需要[0]

以上是关于如何获取数组值并使用 Mongoose 进行结构化?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jquery 获取 td 值并存储在数组中? [复制]

GraphQL、Relay 和 Mongodb (mongoose) 如何获取数组

Nodejs Mongoose 获取属性值的结果数组

如何使用 mongoose 从 refs 获取数组

如何使用猫鼬获取文档的特定键值

使用 Mongoose.js 按嵌套数组中的字段排序