gpt4 book ai didi

datetime - Samus Mongodb-csharp 插入日期和按日期查询

转载 作者:可可西里 更新时间:2023-11-01 10:44:56 25 4
gpt4 key购买 nike

我正在使用 MongoDB-Csharp 驱动程序,我想知道插入和查询日期字段的正确方法是什么?

我尝试使用 System.DateTime 存储日期,但是当我尝试按日期查询时遇到问题。

例子:

插入数据

var mongo = new Mongo();
var db = mongo.GetDatabase(dbName);
var collection = db.GetCollection(collectionName);

var document = new Document();
document["date"] = DateTime.Now.ToUniversalTime();
collection.Save(document);

查询数据

var mongo = new Mongo();
var db = mongo.GetDatabase(dbName);
var collection = db.GetCollection(collectionName);
var results = collection.Find(
new Document()
{
{
"date",
new Document()
{
{
"$lte", DateTime.Now.ToUniversalTime()
}
}
}
}
);

最佳答案

由于 MongoDB shell 是一个 JavaScript shell,您需要使用 the JavaScript Date object :

db.datetest.insert({"event": "New Year's Day 2011", "date": new Date(2011, 0, 1)});
db.datetest.insert({"event": "Now", "date": new Date()});

请注意,如果您将年、月、日传递给构造函数,则月份从 0 开始。

您也可以将字符串传递给它的构造函数,但它似乎忽略了语言环境,因此您的日期需要格式化为美国风格:

db.datetest.insert({"event": "Christmas Day 2010", "date": new Date('12/25/2010')});

一定要使用 new Date() 而不是仅仅使用 Date(),因为 Date() 只是返回一个字符串,你就赢了'能够将其作为日期进行查询。

MongoDB-CSharp 驱动程序在将其序列化为 BSON 时会将 .NET DateTime 对象转换为 MongoDB Date 对象。

关于datetime - Samus Mongodb-csharp 插入日期和按日期查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3678475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com