有没有办法在node-mongodb-native驱动程序中使用动态密钥?我的意思是让变量保持键而不是直接使用键.
正如通常会这样做的时候:
db.createCollection('col', function(err, col){ col.insert({'_id':'wak3ajakar00'}); }
改为:
db.createCollection('col', function(err, col){ var ID = '_id'; col.insert({ID:'wak3ajakar00'}); }
当我运行后面的代码时,我最终会在集合db.col中找到一个文档ID
,除了标准创建之外还调用了一个键_id
,而不是只有一个_id
带有值的键wak3ajakar00
.这让我相信实际上不可能直接这样做.
相反,我现在只是创建我想提前插入的文档,如下所示:
db.createCollection('col', function(err, col){ var ID = 'wak3ajakar00'; var key = '_id'; insertion = {} insertion[key] = ID; col.insert(insertion); }
这与我想要的完全一样,但我只是想知道是否有更好的方法来解决这个问题.JavaScript,NodeJS和MongoDB对我来说都是新手,所以我觉得我很容易丢失一些东西.如果没有,有没有更简洁的方法在JavaScript中编写上述代码?
最好的,谢谢,
萨米
在对象文字语法中,您不能将变量用作键名,只能使用值.执行此操作的方法是您已经发现的方式 - 首先创建对象,然后使用方括号表示法将属性添加为单独的步骤.
var obj = {}; var ID = "_id"; obj[ID] = "wak3ajakar00";