在 C# 中使用 mysql 文档存储(Nosql)中的日期字段进行过滤
Posted
技术标签:
【中文标题】在 C# 中使用 mysql 文档存储(Nosql)中的日期字段进行过滤【英文标题】:Filter using date field in mysql Document store(Nosql) in C# 【发布时间】:2020-09-07 21:17:19 【问题描述】:如何在 c# 中过滤文档存储表 (NoSQL) 中的日期字段。 我需要过滤创建的时间大于特定时间。
日期在 nosql 中存储为字符串值。
我只找到了下面提到的在 C# mysql-x-devspi 中过滤的代码。
var myDb = mySession.GetSchema(Myschema);
var myColl = myDb.CreateCollection("Mytbl",true);
var docs = myColl.Find("createdtime > :starttime")
.Bind("starttime", DateTime.UtcNow)
.Execute();
【问题讨论】:
NOsqöl 像 MONDB 和 rdms 的 mysql 没有太多共同之处,所以你真的无法进行 nosql mysql 搜索。你能提供,你的来源吗? @nbk 见官方文档:mysql.com/products/enterprise/document_store.html Mongodb 比 JSON 走得更远,并且支持 ss 在上一个版本(如 JSON_TABLE)中变得更好,但由于使用逗号分隔的列,操作仍然很糟糕。 MYsql 和 c# 是最好使用 Net 连接器,但不是唯一的方法。 【参考方案1】:你需要一个来自某个地方的日期值,并且你想过滤它
MySQL 需要“他的”日期格式,自动的并不总是有效。
DateTime dateValue= DateTime.Now;
....
.Bind("starttime", dateValue.ToString("yyyy-MM-dd HH:mm:ss"))
但正如我在评论中所说,像 MySQL 和 NoSQL 这样的 RDMS 主要是不同的,而 mysql 绝对不是 NoSQL。
你可以看看https://www.sitepoint.com/sql-vs-nosql-differences/ 主要区别的解释
【讨论】:
以上是关于在 C# 中使用 mysql 文档存储(Nosql)中的日期字段进行过滤的主要内容,如果未能解决你的问题,请参考以下文章