为什么从今天开始,meteor在_id字段周围添加ObjectId



也许我完全错了,但是由于我今天开始的项目,当我使用meteor mongo直接连接到mongodb并插入一条记录(使用mycol.insert(..)时,_id字段被ObjectId("12345555...")包围)。从代码添加记录时,情况并非如此。因此,通过Meteor Mongo添加的记录在应用程序中不再被识别。我过去经常这样做...这是怎么回事?

这是 MONGO 的方式,你会看到这一点,因为你使用的是 Mongo shell。Meteor 默认使用不同的方法(参见下面的方法),当您以编程方式使用它时,您会看到这种方法。查看流星文档new Mongo.Collection

idGeneration String

生成此集合中新文档的_id字段的方法。可能的值:

  • "字符串":随机字符串
  • 'MONGO':随机 Mongo.ObjectID 值

默认的 id 生成技术是"字符串"

在流星中,如果你写

Steffo = new Meteor.Collection("steffo", {idGeneration: 'STRING'});

这将导致条目

{ "foo" : "bar", "_id" : "68FWFNGRAuRt82pWy" }

如果您使用

Paul = new Meteor.Collection("paul", {idGeneration: 'MONGO'});

你会得到

{ "foo" : "bar", "_id" : ObjectId("26cfdb5f200adfa0b55a50d3" }

后者发生在你使用Mongo shell时。

最新更新