繁体   English   中英

mongo db,节点express,从mongodb返回的输出中提取元素

[英]mongo db , node express , extract an element from output returned by mongodb

对于第一段代码,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;
    }
});

下面的代码块给出了诸如“无效的对象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。 有什么解决方案? 谢谢

我知道您使用的是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
});

有关查找文档查询的信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM