private void GetIndex(CollectionModel collModel, MongoManager manager) { //索引类型信息节点 var indexNode = new TreeNode { Id = ConstHelper.GetRandomId(), PId = collModel.Id, Name = "索引", Type = TreeNodeType.IndexFiller }; TreeNodes.Add(indexNode); //索引节点 var indexes = manager.GetCollectionIndexs(ConstHelper.IndexTableName, collModel.Namespace); if (indexes != null) { foreach (var idx in indexes.ToList()) { var indexModel = new IndexModel { Id = ConstHelper.GetRandomId(), Name = idx["name"].AsString, Namespace = idx["ns"].AsString, Unique = idx.Contains("unique") ? idx["unique"].AsBoolean : false, Keys = new List <IndexKey>(), Collection = collModel }; var docFields = idx["key"].AsBsonDocument; foreach (var key in docFields.Names) { var type = int.Parse(docFields[key.ToString()].ToString()); indexModel.Keys.Add(new IndexKey { FieldName = key.ToString(), OrderType = type == 1 ? IndexOrderType.Ascending : IndexOrderType.Descending }); } TreeNodes.Add(new TreeNode { Id = indexModel.Id, PId = indexNode.Id, Name = indexModel.Name, Type = TreeNodeType.Index, ModelInfo = indexModel }); } } }