MongoDB的连接使用Web API [英] Connect MongoDB with Web API
问题描述
我想用的MongoDB API网站在Visual Studio 2013年所有我想要做的就是创建一个C#一个简单的数据库连接。我所有的code是在ValuesControllers.cs文件。我创建了一个简单的模型类 -
I am trying to connect MongoDB with Web API in Visual Studio 2013. All I want to do is create a simple database with C#. All of my code is in ValuesControllers.cs file. I created a simple Model 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;
}
它返回值,但不创建数据库。我在控制台应用程序尝试这样做,它的作品。
我想打一个简单的例子来连接MongoDB中。
It returns values but doesn't create database. I tried this in console application and it works. I want to make a simple example to connect MongoDB.
推荐答案
以下code应该工作。请确保您有在后台运行蒙戈数据库。
The following code should work. Make sure you have the mongo database running in the background.
我修改你的code如下:
I've modified your code as follows
- 创建MongoClient对象时,我添加了蒙戈连接URL
所以它会连接到本地蒙戈分贝。 - 在保存图书到
DB,而不是试图数组直接保存到数据库中,code
现在遍历每个项目并单独保存。
下面是code
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;
}
这篇关于MongoDB的连接使用Web API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!