当前位置: 首页 > 面试题库 >

mgo time.Time或布尔检查

子车雅珺
2023-03-14
问题内容

我有一个mongo文档,其中包含一个日期字段,该日期字段也可以为false(或未定义),并且似乎无法找到如何检查该字段是否可用或为false或是否为日期(time.Time)的日期golang
/ mgo:S


问题答案:

如果您有一个time.Time字段,并且想知道它是否正确地设置了有效日期,则可以查询其IsZero()方法。否则,如果您要在数据库中查询此类文档,则可以执行以下操作之一。

查询该字段是否为假:

iter := collection.Find(bson.M{"field": false}).Iter()

使用$
exists运算符
查询该字段是否可用:

iter := collection.Find(bson.M{"field": bson.M{"$exists": true}}).Iter()

使用$
type运算符
查询字段是否为日期:

iter := collection.Find(bson.M{"field": bson.M{"$type": 9}}).Iter()


 类似资料:
  • 除了相等检查,Jasmine还提供了一些方法来检查布尔条件。 以下是帮助我们检查布尔条件的方法。 toBeTruthy() 此布尔匹配器在Jasmine中用于检查结果是等于true还是false。 以下示例将帮助我们理解toBeTruthy()函数的工作原理。 ExpectSpec.js describe("Different Methods of Expect Block",function (

  • 当我想检查可选布尔值是否为真时,这样做行不通: 它会导致以下错误: 可选类型“@IvalueBool?”不能用作布尔值;测试'!=而不是零 我不想检查nil;我想检查返回的值是否为真。 如果布尔值==true,我是否总是必须执行

  • 我在Java 8上工作,有一个简单的问题我还没有解决。 我有3个方法来验证来自数据库的数据,并根据它们是否得到一行来返回真或假。棘手的是,即使我知道第一部分返回false,我仍然希望它检查其他两个方法。我已经编写了这样的代码: 问题是,当validateMETOD1()返回false时,它没有调用validateMETOD2()。有人能解释一下为什么吗?我试过了: 仍然面临同样的问题。

  • 问题内容: 在python中,如果您编写类似 如果布尔语句为true,则python似乎返回垃圾邮件,否则返回egg。有人可以解释这种行为吗?为什么表达式不像一个长布尔值那样被求值? 编辑:具体来说,我试图弄清楚为什么该表达式的结果返回“ spam”或“ eggs”的机制。 问题答案: 运算符和短路,这意味着如果仅从对第一个操作数求值就可以得出表达式的结果,则不对第二个操作数求值。例如,如果您具有

  • 我正在使用Spring Framework。在编写自定义查询时,我无法检查布尔值的参数。例如,这不起作用: 上述检查不起作用,当布尔变量(booleanVariable)为true和false时,这两种情况下的计算结果相等。 我试图替换和"false"。 是否可以像上面那样检查XML中的布尔属性?

  • 问题内容: 如何检查布尔值是否为null?因此,如果我知道“ hideInNav”为空。如何阻止它进一步执行?像下面这样的东西似乎不起作用,但是为什么呢? 问题答案: 只能是或因为它是原始数据类型(+ 变量的默认值为)。如果要使用值,则可以改用类。布尔是一种引用类型,这就是您可以分配给布尔“变量”的原因。例: