连接 MongoDB 与网络 API
Connect MongoDB with Web API
我正在尝试在 Visual Studio 2013 年将 MongoDB 与 Web API 连接。我想要做的就是使用 C# 创建一个简单的数据库。我的所有代码都在 ValuesControllers.cs 文件中。我创建了一个简单的模型 class -
public class Book
{
[BsonId]
public int Id { get; set; }
public string Title { get; set; }
}
并修改了Get方法
public IEnumerable<Book> Get()
{
MongoClient client = new MongoClient();
var server = client.GetServer();
var db = server.GetDatabase("BookStore");
var collection = db.GetCollection<Book>("Book");
Book[] books = new Book[]
{
new Book {Id = 1, Title="Book Name 1" },
new Book {Id = 2, Title="Book Name 2" },
new Book {Id = 3, Title="Book Name 3" },
new Book {Id = 4, Title="Book Name 4" }
};
collection.Save(books);
return books;
}
它 returns 值但不创建数据库。我在控制台应用程序中尝试过这个并且它有效。
我想做一个简单的例子来连接MongoDB。
下面的代码应该可以工作。确保后台有 mongo 数据库 运行。
我已经将你的代码修改如下
- 我在创建 MongoClient 对象时添加了 mongo 连接 URL
所以它将连接到本地 mongo Db。
- 将书籍保存到
数据库,而不是试图将数组直接保存到数据库,代码
现在正在遍历每个项目并单独保存。
这是代码
public IEnumerable<Book> Get()
{
var client = new MongoClient("mongodb://localhost:27017");
var server = client.GetServer();
var db = server.GetDatabase("BookStore");
var collection = db.GetCollection<Book>("Book");
Book[] books =
{
new Book { Id = 1, Title = "Book Name 1" },
new Book { Id = 2, Title = "Book Name 2" },
new Book { Id = 3, Title = "Book Name 3" },
new Book { Id = 4, Title = "Book Name 4" }
};
foreach (var book in books)
{
collection.Save(book);
}
return books;
}
我正在尝试在 Visual Studio 2013 年将 MongoDB 与 Web API 连接。我想要做的就是使用 C# 创建一个简单的数据库。我的所有代码都在 ValuesControllers.cs 文件中。我创建了一个简单的模型 class -
public class Book
{
[BsonId]
public int Id { get; set; }
public string Title { get; set; }
}
并修改了Get方法
public IEnumerable<Book> Get()
{
MongoClient client = new MongoClient();
var server = client.GetServer();
var db = server.GetDatabase("BookStore");
var collection = db.GetCollection<Book>("Book");
Book[] books = new Book[]
{
new Book {Id = 1, Title="Book Name 1" },
new Book {Id = 2, Title="Book Name 2" },
new Book {Id = 3, Title="Book Name 3" },
new Book {Id = 4, Title="Book Name 4" }
};
collection.Save(books);
return books;
}
它 returns 值但不创建数据库。我在控制台应用程序中尝试过这个并且它有效。 我想做一个简单的例子来连接MongoDB。
下面的代码应该可以工作。确保后台有 mongo 数据库 运行。
我已经将你的代码修改如下
- 我在创建 MongoClient 对象时添加了 mongo 连接 URL 所以它将连接到本地 mongo Db。
- 将书籍保存到 数据库,而不是试图将数组直接保存到数据库,代码 现在正在遍历每个项目并单独保存。
这是代码
public IEnumerable<Book> Get()
{
var client = new MongoClient("mongodb://localhost:27017");
var server = client.GetServer();
var db = server.GetDatabase("BookStore");
var collection = db.GetCollection<Book>("Book");
Book[] books =
{
new Book { Id = 1, Title = "Book Name 1" },
new Book { Id = 2, Title = "Book Name 2" },
new Book { Id = 3, Title = "Book Name 3" },
new Book { Id = 4, Title = "Book Name 4" }
};
foreach (var book in books)
{
collection.Save(book);
}
return books;
}