在db.collection.findOne中传递variables({parm:value}
我正试图创build一个方法,将从基于参数和值类似的集合中获取logging。
其中parm就是这个模式中的_id字段。
getRecord('_id', '1234567876543') getRecord(parm, value){ db.collection.findOne( { parm : value } , function(err, item) { if (err) { console.error(err); }else if (item === null ) { console.error('record does not exist'); }else { Record = JSON.stringify(item); } }); }
发生什么事情是这个代码试图从不存在的表中取出列的parm,返回的logging每次都不存在。
如何在findOne查询中传递参数的值?
如果您希望在对象的关键部分传递variables,则可以使用方括号将其传递。 在你的情况下,像这样做:
db.collection.findOne( { [parm] : value } , function(err, item) {
或者,也许,你可以把它分配给一个对象,如:
var query = {}; query[parm] = value; db.collection.findOne( query , function(err, item) {...})