C# 如何在MongoDB中比较同一文档中的两个字段是否相等?

C# 如何在MongoDB中比较同一文档中的两个字段是否相等?,c#,mongodb,mongodb-query,C#,Mongodb,Mongodb Query,我有一个MongoDB文档集合,其中包含以下“模式”: 我想在管道中运行一个带有“$match”的查询,以检查field1和field2值是否相等 类似于“field1”=“field2” 我该怎么做 谢谢大家 您需要执行以下操作: db.collection.aggregate([{$match:{field1:value1 , field2:value1}}]) 您需要执行以下操作: db.collection.aggregate([{$match:{field1:value1 , fie

我有一个MongoDB文档集合,其中包含以下“模式”:

我想在管道中运行一个带有“$match”的查询,以检查field1和field2值是否相等

类似于“field1”=“field2”

我该怎么做


谢谢大家

您需要执行以下操作:

db.collection.aggregate([{$match:{field1:value1 , field2:value1}}])

您需要执行以下操作:

db.collection.aggregate([{$match:{field1:value1 , field2:value1}}])

您需要执行以下操作:

db.collection.aggregate([{$match:{field1:value1 , field2:value1}}])

您需要执行以下操作:

db.collection.aggregate([{$match:{field1:value1 , field2:value1}}])


我想做一些类似于“valueof(field1)==valueof(field2)”的事情。这两个字段都有相同的数据类型?OP想将每个文档中的
field1
field2
进行比较,而不是将它们都与相同的值进行比较。我想做一些类似于“valueof(field1)==valueof(field2)”的事情。两个字段都有相同的数据类型?OP想要比较每个文档中的
field1
field2
,而不是将它们都与相同的值进行比较。我想要做一些类似“valueof(field1)==valueof(field2)”的事情。两个字段都有相同的数据类型?OP想要比较每个文档中的
field1
field2
,不要将它们都与相同的值进行比较。我想做一些类似于“valueof(field1)==valueof(field2)”的事情。这两个字段都有相同的数据类型?OP想将每个文档中的
field1
field2
进行比较,而不是将它们都与相同的值进行比较。@我警告了alien,也许我认为这已经足够了,这是错误的。谢谢提醒。谢谢!它起作用了。。但“doc:$$ROOT”的含义是什么?@Efstathios Chatzikyriakidis:它代表前一阶段的当前文档。例如,如果集合中有一个文档{u id:1,a:1,b:2},那么doc:$$ROOT将生成一个字段{doc:{u id:1,a:1,b:2}。当我在代码块中注释时,它是可选的,我之所以这样做是因为我不确定您最后要投影哪些字段,所以我投影了整个文档。@我警告了alien,也许我认为这已经足够了,但我错了。谢谢提醒。谢谢!它起作用了。。但“doc:$$ROOT”的含义是什么?@Efstathios Chatzikyriakidis:它代表前一阶段的当前文档。例如,如果集合中有一个文档{u id:1,a:1,b:2},那么doc:$$ROOT将生成一个字段{doc:{u id:1,a:1,b:2}。当我在代码块中注释时,它是可选的,我之所以这样做是因为我不确定您最后要投影哪些字段,所以我投影了整个文档。@我警告了alien,也许我认为这已经足够了,但我错了。谢谢提醒。谢谢!它起作用了。。但“doc:$$ROOT”的含义是什么?@Efstathios Chatzikyriakidis:它代表前一阶段的当前文档。例如,如果集合中有一个文档{u id:1,a:1,b:2},那么doc:$$ROOT将生成一个字段{doc:{u id:1,a:1,b:2}。当我在代码块中注释时,它是可选的,我之所以这样做是因为我不确定您最后要投影哪些字段,所以我投影了整个文档。@我警告了alien,也许我认为这已经足够了,但我错了。谢谢提醒。谢谢!它起作用了。。但“doc:$$ROOT”的含义是什么?@Efstathios Chatzikyriakidis:它代表前一阶段的当前文档。例如,如果集合中有一个文档{u id:1,a:1,b:2},那么doc:$$ROOT将生成一个字段{doc:{u id:1,a:1,b:2}。当我在代码块中注释时,它是可选的,我之所以这样做是因为我不确定最后要投影哪些字段,所以我投影整个文档。