MongoDB相当于WHERE IN(1,2,...)?
MongoDB中相当于WHEREIN(1,2,....)的是$in运算符。语法如下
db.yourCollectionName.find({yourFieldName:{$in:[yourValue1,yourValue2,....N]}}).pretty();首先让我们创建一个包含文档的集合
> db.whereInDemo.insertOne({"StudentName":"John","StudentMathScore":57});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca281ec6304881c5ce84ba5")
}
> db.whereInDemo.insertOne({"StudentName":"Larry","StudentMathScore":89});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca281f56304881c5ce84ba6")
}
> db.whereInDemo.insertOne({"StudentName":"Chris","StudentMathScore":98});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca281fd6304881c5ce84ba7")
}
> db.whereInDemo.insertOne({"StudentName":"Robert","StudentMathScore":99});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca2820a6304881c5ce84ba8")
}
> db.whereInDemo.insertOne({"StudentName":"Bob","StudentMathScore":97});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ca282206304881c5ce84ba9")
}以下是在find()方法的帮助下显示集合中所有文档的查询
> db.whereInDemo.find().pretty();
这将产生以下输出
{
"_id" : ObjectId("5ca281ec6304881c5ce84ba5"),
"StudentName" : "John",
"StudentMathScore" : 57
}
{
"_id" : ObjectId("5ca281f56304881c5ce84ba6"),
"StudentName" : "Larry",
"StudentMathScore" : 89
}
{
"_id" : ObjectId("5ca281fd6304881c5ce84ba7"),
"StudentName" : "Chris",
"StudentMathScore" : 98
}
{
"_id" : ObjectId("5ca2820a6304881c5ce84ba8"),
"StudentName" : "Robert",
"StudentMathScore" : 99
}
{
"_id" : ObjectId("5ca282206304881c5ce84ba9"),
"StudentName" : "Bob",
"StudentMathScore" : 97
}以下是使用$in运算符表示与MongoDB中的位置等效的查询:
> db.whereInDemo.find({StudentMathScore:{$in:[97,98,99]}}).pretty();这将产生以下输出
{
"_id" : ObjectId("5ca281fd6304881c5ce84ba7"),
"StudentName" : "Chris",
"StudentMathScore" : 98
}
{
"_id" : ObjectId("5ca2820a6304881c5ce84ba8"),
"StudentName" : "Robert",
"StudentMathScore" : 99
}
{
"_id" : ObjectId("5ca282206304881c5ce84ba9"),
"StudentName" : "Bob",
"StudentMathScore" : 97
}