0

对于第一个代码块,console.log("ff : "+ff) 打印完全像这样:

ff:{_id:sd845y3hishofiuwhei,全名:'sachin'}

console.log("ff JSON : "+JSON.stringify(ff)); // this line prints like below : 

ff JSON:[{“_id”:“sd845y3hishofiuwhei”,“全名”:“sachin”}]

我怎样才能在一个单独的变量中分别得到那个“sachin”?

var fullname=SampleModel.find({uname:req.session.uname},{fullname : true},function(err,ff){
    if(!err){
        console.log("ff : "+ff);
        console.log("ff JSON  : "+JSON.stringify(ff));
        return ff;
    }else { 
        return null;
    }
});

下面的代码块给出了“invalid object id”之类的错误。可能是什么问题?

var ret= AnotherModel.find({_id : { $nin : ["1","2"] } }, function(err,details){
    if(!err) {
        res.send(details);
    }
    else {
        console.log("Error : "+err);
        res.send(err);
    }
});

我正在像这样实现textarea

<textarea id="myarea" cols="100" rows="20"   ></textarea>

当我改变行时,输出框正在改变它的高度,但是当我改变“cols”时,它的宽度没有改变。输出框的宽度也很小,我检查了 chrome 和 mozilla。有什么解决办法?谢谢

4

1 回答 1

1

我了解您使用 mongoose 而不仅仅是 mongodb 驱动程序。

在第一个代码块中,ff 值不是一个字符串,而是一个对象数组。

您可以访问“sachin”变量,只需执行以下操作:var fullname = ff[0].fullname; 当然,最好遍历数组,但您明白了。

如果您只想检索一个对象,则应使用“findOne”函数,然后您就可以像这样访问“sachin”:var fullname = ff.fullname;

对于第二个问题,您应该使用查询系统。查询是延迟的请求,您可以更精细地链接和调整。要延迟您的查询,只需省略回调函数:var query = Model.find({});

然后,根据您的情况添加所需的过滤器:query.where('_id').nin(['1', '2']);

最后,执行它:

query.exec(function (err, docs) {
    // called when the `query.complete` or `query.error` are called
    // internally
});

有关查找文档查询的信息。

于 2012-04-16T14:03:57.980 回答