鍍金池/ 問答/HTML5  數(shù)據(jù)庫(kù)  HTML/ nodejs中,mongo.find()傳參為什么不起作用

nodejs中,mongo.find()傳參為什么不起作用

請(qǐng)問大神,為什么傳入的data參數(shù)不管用?直接往find()里面寫入?yún)?shù)內(nèi)容卻又可以起作用
直接find({age:30})可以查詢出正確的結(jié)果

代碼如下:

var queryData=function(data, db, collection){
    dbConnect.connect(function (err, client) {
        var database=client.db(db);
        var users=database.collection(collection);
        users.find(data).toArray(function(err, doc){
            console.log(doc);
        });
    });
};
var q="{age:30}";
queryData(q, 'xiaohui1', 'user');

console輸出結(jié)果如下:

[ { _id: 5a4361aef4f9bd31256fd396,
    name: '小白白',
    age: 30,
    phone: '110' },
  { _id: 5a4361aef4f9bd31256fd397,
    name: '小黑黑',
    age: 20,
    phone: '120' } ]

如下代碼,直接find({age:30})可以查詢出正確的結(jié)果:

var queryData=function(data, db, collection){
    dbConnect.connect(function (err, client) {
        var database=client.db(db);
        var users=database.collection(collection);
        users.find({age:30}).toArray(function(err, doc){
            console.log(doc);
        });
    });
};
var q="{age:30}";
queryData(q, 'xiaohui1', 'user');

find({age:30})查詢結(jié)果

[ { _id: 5a4361aef4f9bd31256fd396,
    name: '小白白',
    age: 30,
    phone: '110' } ]

圖片描述

圖片描述

回答
編輯回答
執(zhí)念

檢查下是不是數(shù)據(jù)類型的原因,字符串跟對(duì)象是有區(qū)別的,你把 q 的雙引號(hào)去掉。

2018年5月28日 03:55