3
A
回答
3
由于@菲利普暗示有一种方法可以做到这一点。你实际上可以使用save
函数(http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Save%3CTDocument%3Emethod),它会在数据库端执行他对你说的话。
所以,想象一下你的文件:
{
_id: {},
d: 1
}
这_id
已经存在,它会与此替换之前的文件。
整洁吧?
1
当我理解正确的话,你有新的数据和文档B您希望它完全替换文档A.
在这种情况下,您可以将文档B的_id字段明确设置为文档A的_id字段的值。然后保存文档B时,它将替换文档A在数据库中。
当保存的文档具有现有文档的标识时,数据库会将其视为该文档的新版本,而不是新文档。
相关问题
- 1. MongoDB C#使用新的驱动程序
- 2. Mongodb:在最新的“_id”c驱动程序中的Tailable光标
- 3. MongoDB的C#驱动程序更新在一个原子操作多个文档
- 4. 使用C#驱动更新VB.NET中的MongoDB文档
- 5. 在MongoDB中使用C#驱动程序2.4.4更新两次嵌套文档3.4.6
- 6. 使用DocumentID更新整个MongoDB文档
- 7. 如何使用Java mongodb驱动程序中的“_id”字段查询文档?
- 8. 使用mongodb c#和C++驱动程序修改bson文档
- 9. 无法使用PHP驱动程序删除MongoDB中的文档
- 10. 使用_id字段更新mongodb中的多个文档
- 11. DistinctAsync使用MongoDB C#2.0驱动程序对阵列子文档
- 12. Mongo C驱动程序通过_id访问文档
- 13. Mongodb C#驱动程序 - 更新文档,然后选择与更新文档的集合
- 14. 使用MongoDB Java驱动程序更新嵌入式文档中的字段?
- 15. PHP \ MongoDB的\驱动程序\ BulkWrite不能删除_id $ OID对象
- 16. 如何使用MongoDB C#驱动程序更新泛型类型
- 17. 用C#MongoDB驱动程序限制子文档中的行
- 18. MongoDB的C#驱动程序_id场和SetIdMember()
- 19. 更新MongoDb中的整个文档
- 20. 如何使用POCO用MongoDB的C#驱动程序时,管理_id场
- 21. 如何更新mongodb native nodejs驱动程序中的多个文档?
- 22. 如何使用C#驱动程序更新和插入MongoDB中的多个文档
- 23. 如何从mongodb C驱动程序结果中过滤出“_id”
- 24. mongodb C#驱动程序更新多个字段
- 25. CouchDB的:更新序列和文档_id
- 26. 使用C#驱动程序从MongoDB获取指定顺序的文档
- 27. Mongo C驱动程序,尽快更新文档
- 28. MongoDB更新基于ObjectID的多个文档(_id)
- 29. 如何更新一个MongoDB文档的_id?
- 30. MongoDB C#驱动程序 - InsertBatch获取受影响的文档数
使用是否危险?保存一般?我想,将一个任意的Id值插入到文档中并将其作为http PUT发送到服务器是相当容易的。如果不先检查是否存在现有文档,该操作最终可能会以POST的形式出现,但没有POST后方法的控制器逻辑。没有进一步的信息,我使用.Update和。用C#驱动程序替换。 –
@Besrl这是一个很好的观点,它可以是相当危险的,你应该始终确保文档的_id被验证和检查你的应用程序逻辑,以及其他东西 – Sammaye
也有'Update.Replace'构建器的情况下当你需要做更新时,例如乐观并发版本控制。 –