mongodb条件操作符

样本数据


db.media.find().pretty()
{
"_id" : ObjectId("585f822891c851f743fea7b5"),
"Type" : "DVD",
"Title" : "Blade Runner",
"Released" : 1982
}
{
"_id" : ObjectId("585f824d91c851f743fea7b6"),
"Type" : "DVD",
"Title" : "Tony Story3",
"Released" : 2010
}
{
"_id" : ObjectId("585f828391c851f743fea7b7"),
"Type" : "DVD",
"Title" : "Matrix",
"Released" : 1999
}

执行大于和小于比较$gt、$lt、$gte、$lte

db.media.find({Released:{$gt:1999}})

{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }

db.media.find({Released:{$gte:1999}})

{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }
{ “_id” : ObjectId(“585f828391c851f743fea7b7”), “Type” : “DVD”, “Title” : “Matrix”, “Released” : 1999 }

db.media.find({Released:{$lt:1999}})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }

db.media.find({Released:{$lte:1999}})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }
{ “_id” : ObjectId(“585f828391c851f743fea7b7”), “Type” : “DVD”, “Title” : “Matrix”, “Released” : 1999 }

获取除特定文档外所有的文档($ne)

db.media.find({Released:{$ne:1999}})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }
{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }

指定一个匹配的数组($in)

db.media.find({Released:{$in:[1999,2000,2001]}})

{ “_id” : ObjectId(“585f828391c851f743fea7b7”), “Type” : “DVD”, “Title” : “Matrix”, “Released” : 1999 }

查找不在数组中的文档($nin)

db.media.find({Released:{$nin:[1999,2000,2001]}})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }
{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }

匹配文档中所有的属性($all)

db.media.find({Released:{$all:[1999,2000]}})

没有文档返回,因为没有同时满足发行年份为1999,2000的DVD。

在文档中搜索多个表达式

db.media.find({$or:[{Title:’Matrix’},{Released{$ne:1999}}]})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }
{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }
{ “_id” : ObjectId(“585f828391c851f743fea7b7”), “Type” : “DVD”, “Title” : “Matrix”, “Released” : 1999 }
返回满足其中任何一个条件的文档

返回含有特定字段的文档

db.media.find({Released:{$exists:true}})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }
{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }
{ “_id” : ObjectId(“585f828391c851f743fea7b7”), “Type” : “DVD”, “Title” : “Matrix”, “Released” : 1999 }

否定任何标准操作符执行的检查($not)

db.media.find({Released:{$gt:1999}})

{ “_id” : ObjectId(“585f824d91c851f743fea7b6”), “Type” : “DVD”, “Title” : “Tony Story3”, “Released” : 2010 }

db.media.find({Released:{$not:{$gt:1999}}})

{ “_id” : ObjectId(“585f822891c851f743fea7b5”), “Type” : “DVD”, “Title” : “Blade Runner”, “Released” : 1982 }
{ “_id” : ObjectId(“585f828391c851f743fea7b7”), “Type” : “DVD”, “Title” : “Matrix”, “Released” : 1999 }

猜你喜欢

转载自blog.csdn.net/uevol14/article/details/53870813