簡體   English   中英

Node.js字符串里面有javascript對象參數

[英]Node.js string inside javascript object argument

我不確定如何命名這個問題,但實際上我使用的是MongoDB的Mongoose包,而且函數沒有表現。 有問題的功能是:

var value = 'onetwothree'
model.findOne({ 'name': value }, callback)

這允許我在數據庫中搜索屬性'name' 但是,如果我嘗試將'name'作為變量傳遞,則該函數不起作用。 例如,這不起作用:

var attribute = 'name'
model.findOne({ attribute: value}, callback)

如何在創建屬性參數變量時調用findOne()函數,即我可以傳入'name''age''city'等。

您可以在將對象傳遞給函數之前創建對象,並使用[]表示法分配動態屬性:

var query = {};
var attr = 'city';
var val = 'Miami';

// set the dynamic property
query[attr] = val; // { city: 'Miami' }

model.findOne(query, callback)

或者在ES6中(如果您使用的是Babel),您可以使用計算屬性名稱直接執行此操作:

const attr = 'city';
const val = 'Miami';
const query = { [attr]: val }; // { city: 'Miami' }

model.findOne(query, callback);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM