我最近开始使用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。
然而,当我尝试使用它来访问代码中的数据时,我不断收到“未定义”错误。我尝试了很多不同的方法。以下是一些:
warehouse = Warehouses.findOne({"_id":Mongo.ObjectID(currentId)});
warehouse = Warehouses.findOne({"_id":ObjectId(currentId)});
由于某种原因,“ObjectId”在后者上无法识别。
我不知道还有什么可以尝试的。任何帮助将不胜感激。
答案 0 :(得分:0)
你不必添加像Mongo.ObjectID或ObjectId这样的东西,你只需要直接写出currentId。
warehouse = Warehouses.findOne({"_id": currentId});