对于第一个代码块,console.log(“ff:”+ ff)打印完全如下:
ff:{_ id:sd845y3hishofiuwhei,全名:'sachin'}
console.log("ff JSON : "+JSON.stringify(ff)); // this line prints like below :
ff JSON:[{“_ id”:“sd845y3hishofiuwhei”,“fullname”:“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;
}
});
下面的代码块给出了“无效对象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。什么是解决方案? 感谢
答案 0 :(得分:1)
据我所知,你使用的是mongoose而不仅仅是mongodb驱动程序。
在第一个代码块中,ff值不是字符串而是对象数组。
你可以访问“sachin”变量,例如:var fullname = ff[0].fullname;
当然,最好迭代一下阵列,但你明白了。
如果您只想要检索一个对象,则应该使用“findOne”函数,然后您可以像这样访问“sachin”:var fullname = ff.fullname;
对于第二个问题,您应该使用Query系统。查询是延迟的请求,您可以更精细地链接和调整。要延迟查询,只需省略回调函数: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
});
有关finding docs和queries的信息。