0

我在使用 VB.NET 和 C# 驱动程序更新 MongoDB 中的文档时遇到问题。

我有返回要更新的文档的代码,但我不确定要继续使用的语法

Imports MongoDB.Bson
Imports MongoDB.Driver
Imports MongoDB.Driver.Builders

Dim mongo As MongoServer = MongoServer.Create()
mongo.Connect()
Dim db = mongo.GetDatabase("database")
Dim stock = db.GetCollection(Of BsonDocument)("stock")

Dim getDocument = New QueryDocument("productName", "test")
4

3 回答 3

0

使用 coll.update 方法。例如设置字段的值

Dim client = New MongoClient()
Dim db = client.GetServer().GetDatabase("test")
Dim coll = db.GetCollection("vbtest")
Dim productQuery = Query.EQ("productName", "test")
Dim updateStmt = Update.Set("cost", 3000)
coll.Update(productQuery, updateStmt)

有关这些方法的更多信息,请参见http://api.mongodb.org/csharp/1.8.1/。另外,我建议您阅读http://docs.mongodb.org/ecosystem/drivers/csharp/上的教程。这些示例虽然在 C# 中

于 2013-07-17T21:28:53.947 回答
0

请参阅此页面以了解如何进行更新:

http://docs.mongodb.org/manual/reference/method/db.collection.update/#update-parameter

于 2013-07-16T13:04:23.377 回答
0

我的解决方案,您可以使用相同的此块代码:

Imports MongoDB.Bson
Imports MongoDB.Driver

连接到MongoDB:

public client As MongoClient = New MongoClient("mongodb://user:password@IP:27017/MyDatabase")
public mydb As IMongoDatabase = client.GetDatabase("MyDatabase")
public userCollection As IMongoCollection(Of BsonDocument) = mydb.GetCollection(Of BsonDocument)("users")

更新:

Dim filterById = Builders(Of BsonDocument).Filter.Eq(Of String)("_id", userId)
userCollection.UpdateOne(filterById, New BsonDocument("$set", New BsonDocument("emailField", newEmail)))

祝你好运!

于 2018-11-25T05:03:35.180 回答