node有没有数据字典的解决方案
发布于 8 年前 作者 alexyhe 4161 次浏览 来自 问答

如,我先在一个地方定义好字典: 状态: 1-激活 2-冻结 3-锁定 等等,可能存在很多不同的字典组。 数据据存储的是 1 2 3这样的值,那么我在查询数据的时候怎样把这些值转换为对应的文字? 初步想法是这样:

exports.dict = {
	status: {[
		{text: "激活", value: 1},
		{text: "冻结", value: 2},
		....
	]}
}

如果页面有下拉框就通过 ladash 查找出来,但是数据查找就不知怎样操作了

希望各位大神指点, 小弟初学node,万分感谢!!

11 回复

或者是我这样的想法根本就是错也希望大神们指出来,谢谢

自己写常量映射

来自酷炫的 CNodeMD

{‘激活’: 1}, _.findKey()

两个map一正一反

数据库里建立一张字典表,联合查询不行吗?

可能是我说的不清楚吧,问题是这样的: 我现在有一个列表页面,我在router里直接查询了数据,如:

News.find({}).exec(function(err, docs) {
	// 这里的docs 是集合,集合里面每一条都有一个属性是 state, 值是 0 或1 或2 这样
	// 有没有办法直拉在这里把中文找出来了,开始以为可以用 virtaul ,结果他是不支持集合的
})

@dayuoba 你个定义跟我的想法相同

你把它存成一个对象,value 是属性名,text是属性的值

var test = {};
test[1] = '激活';
.........................

由于js本身的特性,很多东西还是可以用的比较灵活的

@chengang4505 我不想保存中文在数据里,因为可以会有这样的情况 : 今天是这样 1-激活 ,过了一段时间后数据存在数据了 改为 1-激活中

@alexyhe 额 我没懂你的意思。。改变了 你就根据相应的键 更新相应的数据不行么。。。

@chengang4505 其实不会改变数据,只是改变了 1 所示的意思而已,不然你数据据里都存 “激活” 这样的中文吗?

其实更好理解就是 select 下拉框,text显示是中文 value存是数字或英文,那数据库肯定是放value的,我现在就是想在列表中,怎样快速的把value转为中文text

回到顶部