在Meteor中查询objectId

时间:2016-04-23 18:43:20

标签: mongodb meteor objectid

我最近开始使用mongoimport加载mongodb并意识到它添加了与ObjectId相关联的"_id"字段。当我使用“meteor mongo”命令行查询它时,它可以正常工作:

meteor:PRIMARY> db.Warehouses.find({"_id":ObjectId("571b7a89a990b5b8779b1315")})    
{ "_id" : ObjectId("571b7a89a990b5b8779b1315"), "name" : "Stephan Lumber", "street" : "23 East St", "city" : "Plano", "state" : "TX"}
meteor:PRIMARY> 

我的代码可以使用"_id"

读取console.log( "id ", currentId)中的值

返回ObjectID("571b7a89a990b5b8779b1315")

currentId包含所选的当前仓库ID。

然而,当我尝试使用它来访问代码中的数据时,我不断收到“未定义”错误。我尝试了很多不同的方法。以下是一些:

  1. warehouse = Warehouses.findOne({"_id":Mongo.ObjectID(currentId)});

  2. warehouse = Warehouses.findOne({"_id":ObjectId(currentId)});

  3. 由于某种原因,“ObjectId”在后者上无法识别。

    我不知道还有什么可以尝试的。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

你不必添加像Mongo.ObjectID或ObjectId这样的东西,你只需要直接写出currentId。

warehouse = Warehouses.findOne({"_id": currentId});