SqlSugar/Src/Asp.NetCore2/MongoDbTest/AdoTest.cs
2025-05-02 11:39:41 +08:00

207 lines
8.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using MongoDb.Ado.data;
using MongoDB.Bson;
using MongoDB.Driver;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MongoDbTest
{
public class AdoTest
{
public static void Init()
{
MongoClientTest();
MongoDbConnectionTest();
MongoDbCommandTest();
}
private static void MongoDbCommandTest()
{
//ExecuteReader single query 1
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
//对应的SQL: SELECT * FROM b WHERE age > 18;
MongoDbCommand mongoDbCommand = new MongoDbCommand(" find b { age: { $gt: 32 } } ", connection);
using (var reader = mongoDbCommand.ExecuteReader())
{
while (reader.Read())
{
var name = reader.GetString("name");
var age = reader.GetInt32("age");
}
}
connection.Close();
}
//ExecuteReader single query 2
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
//对应的SQL: SELECT name, age, _id FROM b WHERE age > 18;
MongoDbCommand mongoDbCommand = new MongoDbCommand(" find b [{ age: { $gt: 18 } }, { name: 1, age: 1 }]", connection);
using (var reader = mongoDbCommand.ExecuteReader())
{
while (reader.Read())
{
var name = reader.GetString("name");
var age = reader.GetInt32("age");
}
}
connection.Close();
}
//ExecuteReader single query 3
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
//对应的SQL: SELECT * FROM B LIMIT 2;
MongoDbCommand mongoDbCommand = new MongoDbCommand(" aggregate b [ { $limit:2 } ]", connection);
using (var reader = mongoDbCommand.ExecuteReader())
{
while (reader.Read())
{
var name = reader.GetString("name");
var age = reader.GetInt32("age");
}
}
connection.Close();
}
//ExecuteReader join query
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(" find b { age: { $gt: 31 } }", connection);
using (var reader = mongoDbCommand.ExecuteReader())
{
while (reader.Read())
{
var name = reader.GetString("name");
var age = reader.GetInt32("age");
}
}
connection.Close();
}
//ExecuteScalar
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(" find b { age: { $gt: 31 } }", connection);
var value=mongoDbCommand.ExecuteScalar();
connection.Close();
}
//ExecuteNonQuery insert
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"insert b { name: \"John\", age: 31 }",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery insertMany
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(" insertMany b [{ name: \"John\", age: 31 }, { name: \"Alice\", age: 25 }, { name: \"Bob\", age: 30 } ] ", connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery update
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
@"update b {
""filter"": { ""name"": ""John"" },
""update"": { ""$set"": { ""age"": 32 } }
}",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery updateMany
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
@"updateMany b [{
""filter"": { ""name"": ""John"" },
""update"": { ""$set"": { ""age"": 32 } }
}]",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery delete
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"delete b {\"filter\":{ name: \"John\" }}",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery delete
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"delete b {\"filter\":{ name: \"John\" }}",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery deleteMany
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
"deleteMany b [{\"filter\":{ name: \"John\" }}]",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
//ExecuteNonQuery Find
{
var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString);
connection.Open();
MongoDbCommand mongoDbCommand = new MongoDbCommand(
" find b { age: { $gt: 31 } }",
connection);
var value = mongoDbCommand.ExecuteNonQuery();
connection.Close();
}
}
private static void MongoDbConnectionTest()
{
var db= new MongoDbConnection(DbHelper.SqlSugarConnectionString);
var database= db.GetDatabase();
var collections = database.GetCollection<BsonDocument>("b");
// 插入一个文档MongoDB 会创建数据库和集合
var document = new BsonDocument { { "name", "bbbbbb" }, { "age", 40 } };
collections.InsertOne(document);
var list = collections.AsQueryable<BsonDocument>().ToList();
}
private static void MongoClientTest()
{
//开发中
var client = new MongoClient(DbHelper.ConnectionString);
var database = client.GetDatabase("SqlSugarDb");
// 获取当前数据库中的所有集合
var collections = database.GetCollection<BsonDocument>("a");
// 插入一个文档MongoDB 会创建数据库和集合
var document = new BsonDocument { { "name", "aaaa" }, { "age", 30 } };
collections.InsertOne(document);
var list = collections.AsQueryable<BsonDocument>().ToList();
}
}
}