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

时间:2014-12-10 13:08:27

标签: meteor

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

1 个答案:

答案 0 :(得分:16)

那是MONGO的方式,你看到了这个,因为你使用的是Mongo shell。 Meteor默认使用不同的方法(参见下文),您可以通过编程方式使用它。在new Mongo.Collection

上查看Meteor文档

idGeneration 字符串

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

  • ' STRING&#39 ;:随机字符串
  • ' MONGO':随机的Mongo.ObjectID值

默认的ID生成技术是' STRING'

在流星中,如果你写

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时会发生后者。