Joa*_*ins 1 mongoose mongodb node.js mongoose-schema
我正在尝试创建一个方法,该方法将基于参数和类似值从集合中获取记录.
其中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);
}
});
}
Run Code Online (Sandbox Code Playgroud)
发生的事情是这段代码试图从不存在的表中获取colum parm,每次返回记录都不存在.
如何在findOne查询中传递参数的值?
如果要在对象的键部分中传递变量,可以使用方括号传递它.在你的情况下,这样做:
db.collection.findOne( { [parm] : value } , function(err, item) {
Run Code Online (Sandbox Code Playgroud)
或者,您可以将它分配给一个对象,如:
var query = {};
query[parm] = value;
db.collection.findOne( query , function(err, item) {...})
Run Code Online (Sandbox Code Playgroud)