我正在通过数据库调用检索对象,我想通过将键与我拥有的变量进行匹配来访问键的值。
在数据库返回中,我得到一个看起来与此类似的对象:
{"_id":"5c840d548a7db8af2f9eefea",
"domain":"chatbotdemo.com","deliveryTime":"ba",
"emailAddress":"ab","freeDelivery":"ab","onSale":"ab"}
我有一个变量:
var intent = 'emailAddress'
该变量应始终存在,但极有可能不存在 并且也可能为空。
我要做的是从与var intent匹配的键字段中访问值,或者至少获取键值对。
然后我还想做的是,如果它为null则调用错误,我的完整代码如下:
getClientsDialog: function (domain, intent, callback) {
MongoClient.connect('mongodb://111011001101101', function (err, client) {
if (err) throw err;
var db = client.db('10001101');
db.collection('dialog').findOne({ domain: domain}, function (err, doc) {
// here I would want to say if (!err && ****logic to check match****)
if (!err) {
callback(doc)
} else {
throw err;
callback(err)
}
client.close();
});
console.dir("Called findOne");
});
}
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:1)
不确定我是否解决了问题,但是在ES6中可以使用computed value as an property name。像这样:
data List' (a :: Type) (n :: Nat) where
Nil :: List' a Z
Cons :: a -> List' a m -> List' a (S m)
to :: List' a n -> List a n
to Nil = niln
to (Cons a l) = consn a (to l)
from :: List a n -> List' a n
from l = l Nil Cons