From 1a4a5f6d02ab04b7df974a211f856994146ab14a Mon Sep 17 00:00:00 2001 From: sunkaixuan <610262374@qq.com> Date: Fri, 2 May 2025 11:49:57 +0800 Subject: [PATCH] Update mongodb --- Src/Asp.NetCore2/MongoDbTest/AdoTest.cs | 32 ++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/Src/Asp.NetCore2/MongoDbTest/AdoTest.cs b/Src/Asp.NetCore2/MongoDbTest/AdoTest.cs index d111e52a4..736faa393 100644 --- a/Src/Asp.NetCore2/MongoDbTest/AdoTest.cs +++ b/Src/Asp.NetCore2/MongoDbTest/AdoTest.cs @@ -71,9 +71,39 @@ namespace MongoDbTest } //ExecuteReader join query { + //SELECT b1._id, b1.a_id, b2.some_field AS joined_field + // FROM b AS b1 + //LEFT JOIN b AS b2 ON b1.a_id = b2._id + //WHERE b2.some_field > 100 + //ORDER BY b2.some_field DESC + // LIMIT 20 OFFSET 10; var connection = new MongoDbConnection(DbHelper.SqlSugarConnectionString); connection.Open(); - MongoDbCommand mongoDbCommand = new MongoDbCommand(" find b { age: { $gt: 31 } }", connection); + MongoDbCommand mongoDbCommand = new MongoDbCommand(@" aggregate b [ + { + ""$lookup"": { + ""from"": ""b"", + ""localField"": ""a_id"", + ""foreignField"": ""_id"", + ""as"": ""joined_docs"" + } + }, + { + ""$unwind"": ""$joined_docs"" + }, + { + ""$match"": { + ""joined_docs.some_field"": { ""$gt"": 100 } + } + }, + { + ""$project"": { + ""_id"": 1, + ""a_id"": 1, + ""joined_field"": ""$joined_docs.some_field"" + } + } + ])", connection); using (var reader = mongoDbCommand.ExecuteReader()) { while (reader.Read())