如何在mongodb中使用$ nin运算符从集合中获取文档

编程入门 行业动态 更新时间:2024-10-08 14:41:15

如何在mongodb中使用$ nin<a href=https://www.elefans.com/category/jswz/34/1771114.html style=运算符从集合中获取文档"/>

如何在mongodb中使用$ nin运算符从集合中获取文档

我有这样的用户架构

const userSchema= new mongoose.Schema({

  Username:{
      type:String,
      trim:true,
      required:true
  },
  email:{
    type:String,
    trim:true,
    required:true
},
hashed_password:{
    type:String,
    trim:true,
    required:true
},
salt:String,
created:{
type:Date,
default:Date.now,
},
updated:Date,
photo:{
data:Buffer,
contentType:String
},

about:{
 type:String   
},

following:[{type:ObjectId,ref:"User",}],

followers:[{type:ObjectId,ref:"User"}]
})

当我运行查询时

User.find({$_id:{$nin:following}} , (err, users) => {
    if (err) {
      return res.status(400).json({
        error: err,
      });
    }
    res.json(users)
  //  let data=users

  //  console.log(following.length,"following")

  //  console.log(newuser)

  }).select("Username")


};
the following variable is an array of objects like this
<< [ -05-13T19:37:17.161Z“}]

after running the query i get an error: "errmsg": "unknown top level operator: $_id", "code": 2, "codeName": "BadValue",

如何在查询中正确输入字段    
回答如下:与操作符mongodb一样,从$中删除_id将其识别为与operator类似的($match etc),但是没有这样的操作符,因此会引发错误

User.find({_id:{$nin:following}} , (err, users) => { if (err) { return res.status(400).json({ error: err, }); } res.json(users) // let data=users // console.log(following.length,"following") // console.log(newuser) }).select("Username") };

更多推荐

如何在mongodb中使用$ nin运算符从集合中获取文档

本文发布于:2024-05-07 13:40:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756502.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:运算符   文档   如何在   nin   mongodb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!