当前位置:网站首页>C#访问MongoDB并执行CRUD操作
C#访问MongoDB并执行CRUD操作
2022-06-30 08:36:00 【皓月如我】
先在NuGet中下载并安装驱动mongocsharpdriver,和客户端包MongoDB.Driver
代码如下
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
namespace TestMongoDB
{
[Serializable]
class Customer
{
public int id {
set; get; }
public string name {
set; get; }
public int age {
set; get; }
}
class Program
{
public static void Main()
{
MongoClient client;
MongoServer server;
client = new MongoClient("mongodb://admin:[email protected]:27017/admin");
if (client != null)
{
Console.WriteLine("MongoDB connect success.");
server = client.GetServer();
MongoDatabase mdb = server.GetDatabase("foo");
MongoCollection<BsonDocument> collection = mdb.GetCollection("bar");
// Select operation
var records = collection.FindAll();
foreach (BsonDocument record in records)
{
Console.WriteLine(record);
}
// Insert operation
Customer customer = new Customer
{
id = 8,
name = "zahngsan",
age = 28
};
collection.Insert<Customer>(customer);
// Update operation
IMongoQuery iq4u = Query.EQ("name", "zhangsan_1");
IMongoUpdate iu = Update.Set("name", "zhangsan").Set("age", 98);
collection.Update(iq4u, iu, UpdateFlags.Multi);
// Delete operation
IMongoQuery iq4d = Query.EQ("name", "zhangsan_2");
collection.Remove(iq4d);
// Select as Object
/*MongoCollection<Customer> collection2 = mdb.GetCollection<Customer>("bar"); var customer1 = collection2.FindOne(); var customer2 = collection2.FindOneAs<Customer>(); foreach (BsonDocument record in records) { var customer3 = BsonSerializer.Deserialize<Customer>(record); }*/
}
else
{
Console.WriteLine("MongoDB connect fail.");
}
}
}
}
边栏推荐
- 一次cpu 跌底排查
- Cesium learning notes (I)
- Sword finger offer II 074 Merge interval (sort, array)
- Redis design and Implementation (VI) | cluster (sharding)
- php api获取二维码、组合生成图片
- Introduction to MySQL foundation power node [Lao Du] class assignment
- Flink 数据偶尔数据积压导致checkpoint失败
- [nvme2.0b 14 - 5] commande de téléchargement / commande du logiciel
- [untitled]
- 【NVMe2.0b 14-6】Format NVM、Keep Alive、Lockdown command
猜你喜欢

Environment configuration of ROS Aubo manipulator

Transformer architecture understanding

El input limit can only input numbers

维基媒体基金会公布新商业产品“维基媒体企业”首批客户

【NVMe2.0b 14-2】Create/Delete Queue

Cesium learning notes (VI) particle system

Wsl2 using GPU for deep learning

微信公众号第三方平台开发,零基础入门。想学我教你啊

Redis设计与实现(一)| 数据结构 & 对象

Redis design and Implementation (IV) | master-slave replication
随机推荐
Camera
[nvme2.0b 14-8] set features (Part 2)
Detectron2 source code reading 4-- registrar construction model
Summary of common pytoch APIs
JS中的this指向
swagger使用
我们如何拿到自己满意的薪资呢?这些套路还是需要掌握的
Cesium learning notes (III) creating instances
Cesium learning notes (II) uploading data using rest API
Redis设计与实现(六)| 集群(分片)
Experiment 6 examination
Sword finger offer II 075 Array relative sort (custom sort, count sort)
Cesium learning notes (I)
[untitled]
Cesium learning notes (IV) visual image & Terrain
国债逆回购绝对安全吗 网上怎么开户
Emoji icons supported by markdown
示波器探头对测量电容负荷有影响吗?
Opencv video
挖财开户安全吗?怎么有人说不靠谱。