2

看起来这两种方法都将 BasicDbObject 保存到集合实例中。这两种方法有什么区别?com.mongodb.DBCollection.Insert() com.mongodb.DBCollection.Save()

4

3 回答 3

10

保存一次只能保存一个对象。如果提供了 _id 并且它已经存在,则新文档将覆盖以前存在的文档。如果它不存在,它将执行插入。

Insert 可以采用单个对象或对象的 ArrayList 并对它们进行“批量插入”。

如果您将现有的 _id 提供给插入,则会导致重复的 Id 异常。

于 2012-07-30T10:00:14.710 回答
3

.insert仅用于插入,而.save可以插入或更新。

com.mongodb.DBCollection.Save

将对象保存到此集合(根据对象 _id 插入或更新)。

于 2012-07-30T08:21:45.217 回答
0

如果文档具有设置的_id,则保存将插入或更新,并且插入将只是插入。

您可以在此处阅读更多信息:http ://www.mongodb.org/display/DOCS/Updating/#Updating- {{save%28%29}}inthemongoshell

于 2012-07-30T08:21:08.480 回答