在mongodb + ubuntu中无法获取批量操作的强插ID?

问题描述:

我试图让他插入红宝石mongo驱动程序批量操作的ID。 它适用于我试图在我的mac,但不是当我在linux,ubuntu服务器上工作。在mongodb + ubuntu中无法获取批量操作的强插ID?

我在两个平台(brew和apt-get)上都安装了mongo,所以也许配置有所不同。不管它是什么,我都不知道我错过了什么。我在两个上都得到upserted_count,但只能在Mac上获得upserted_ids。

这里是我打电话的代码:

bulk_data = [] 
bulk_data << {replace_one: {replacement: data, filter: e.matching_key, upsert: true}} # several times inside a loop 

后来

bulk_write(bulk_data, ordered: false) 

感谢,

好了,问题就解决了。事实证明,Ubuntu是在Mongo 2.4和Mac上的3.0。 Mongo 2.4不会返回upserted_ids。所以确保你将它更新到最新版本。

这里是deb包的来源:https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/