Javascript 从mongodb返回的数组中查找数据===true
从mongoose的find()返回时,我想检查Javascript 从mongodb返回的数组中查找数据===true,javascript,node.js,reactjs,mongodb,mongoose,Javascript,Node.js,Reactjs,Mongodb,Mongoose,从mongoose的find()返回时,我想检查是否为_requestor=true。但是在更新同一个文档时,我传递了id,但它必须更新数据 let filter = { is_reqestor: true } if (!isAdd) { filter["_id"] = { "$ne": id }; } userModel.find(filter, functio
是否为_requestor=true
。但是在更新同一个文档时,我传递了id
,但它必须更新数据
let filter = {
is_reqestor: true
}
if (!isAdd) {
filter["_id"] = { "$ne": id };
}
userModel.find(filter, function (err, docs) {
if (docs.filter(el => console.log(el.is_requestor)).length > 1 || docs.length >= 1 && userObj.is_active === true) {
result.error = "Requestor already exists: " + userObj.is_reqestor;
console.log("`Requestor already exists", null);
let resp = api_respose.getSuccessResponse(process.env.WEB_URI, result);
resolve(resp);
}
在docs
中,我从数组下的mongo获取数据,我必须签入该数据为_reqestor=true
然后是console.log(“Reqester存在”)
这是我在find()之后在文档的console.log上获取的数据
我可能被这个问题弄糊涂了,但是如果你想做的只是过滤掉那些有is\u requestor:false
的对象,那么过滤函数应该可以工作
比如:
docs.filter(el => el.is_requestor)
将返回所在的对象\u requestor:true
。如果我遗漏了要点,请给我留言,我会看看是否能想出其他办法。为什么不将is_Requestor:true
添加到过滤器中?添加了这一点,但在添加数据时,将is_Requestor:false
抛出请求者已经存在SIF(docs.length>=1)通过此添加新的is_reqster=false表示它存在,如果(docs.length>1)存在此条件而在更新时,它会说它让is_requester
=true对不起,我不明白-你到底想做什么?如果你在寻找任何对象,其中is_requestor为true,你可以运行上面的代码。你可以检查结果数组的长度,以记录请求者是否存在。添加代码时会说undefined
ch检查更新的问题如果您只想输入if语句块,如果任何对象包含is_请求者:true
请使用此检查:if(docs.filter(el=>console.log(el.is_请求者)).length){//执行任何操作
docs.filter(el => el.is_requestor)