Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何动态选择以字符串变量命名的数据库?_Javascript_Function_Ecmascript 6 - Fatal编程技术网

Javascript 如何动态选择以字符串变量命名的数据库?

Javascript 如何动态选择以字符串变量命名的数据库?,javascript,function,ecmascript-6,Javascript,Function,Ecmascript 6,我想根据如下字符串动态调用我的应用程序中的不同数据库集合: const collection = 'books'; db.${collection}.find() // turns into db.books.find() 我正在使用ES6,所以如果有任何简单的方法可以做到这一点,那就太好了!我一直找不到创建这个的方法 编辑:我不是试图访问对象的一部分,而是访问任何地方。我还想做一些类似的事情 ${collection}.db.find() JavaScript对象上的每个属性都可以使用方

我想根据如下字符串动态调用我的应用程序中的不同数据库集合:

const collection = 'books';
db.${collection}.find()  // turns into db.books.find()
我正在使用ES6,所以如果有任何简单的方法可以做到这一点,那就太好了!我一直找不到创建这个的方法

编辑:我不是试图访问对象的一部分,而是访问任何地方。我还想做一些类似的事情

${collection}.db.find()

JavaScript对象上的每个属性都可以使用方括号访问。像这样:

const collection = 'books';
db[collection].find()

如果是动态字符串,则应使用以下格式

db[collection].find() // turns into db['books'].find()


都是一样的。

我尝试在对象的任何地方这样做,而不仅仅是在属性中。动态访问变量通常是糟糕的设计。改为创建
name=>database
map。这是什么意思?在我当前的例子中,我试图访问我可能事先不知道的数据库名称。“我可能事先不知道”在这种情况下,具有该名称的变量如何存在?我说的是
${collection}.db.find()
部分。
object.property
object['property']