最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

网站源码admin16浏览0评论

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

如何在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") };

发布评论

评论列表(0)

  1. 暂无评论