Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongoose节点发现工作不正常_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js Mongoose节点发现工作不正常

Node.js Mongoose节点发现工作不正常,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,所以我正在做一个猫鼬查找,我定义了集合等,除了我尝试通过一个值进行查找外,一切都很好 var searchID = req.user.id; console.log(searchID); Locations.find({userid: '541f69e7fd4c3b07108c92c0'}, function(err, location) { if (err) return console.error(err); console.log(location);

所以我正在做一个猫鼬查找,我定义了集合等,除了我尝试通过一个值进行查找外,一切都很好

var searchID = req.user.id;
      console.log(searchID);


      Locations.find({userid: '541f69e7fd4c3b07108c92c0'}, function(err, location) {
  if (err) return console.error(err);
  console.log(location);
      });
userid是一个属性,它是创建它的用户的ID。查找在mongo控制台中也不起作用


有什么想法吗?我可以通过位置的实际id或任何其他值进行查找。

正如Neil Lunn所评论的,您的问题几乎肯定是您的模式不正确。一旦您的mongoose模式将userid属性明确定义为类型mongoose.schema.Types.ObjectId,mongoose将在将其发送到mongodb之前开始将您的字符串值从查询转换到适当的ObjectId实例,因此查询将开始匹配文档,您将看到结果

{userid: {type: mongoose.Schema.Types.ObjectId, ref: 'Users'}}

如何在模式中定义用户ID。它是字符串还是ObjectId?通过mongo外壳它看起来像什么?ObjectId541f69e7fd4c3b07108c92c0?在搜索单个元素时,也可以使用findOne而不是find。