db.collection.find(query, projection)
query二汛,可選項婿崭,使用查詢操作符指定查詢條件
projection,可選項习贫,使用投影操作符指定返回鍵值逛球,若查詢時返回文檔中所有鍵值,則省略該參數(shù)
db.collection.find().pretty()
pretty()方法苫昌,格式化顯示文檔
db.collection.findOne()
僅返回第1個匹配文檔
> db.col.find()
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba0813cb574c7da6ad4ba"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba08b3cb574c7da6ad4bb"), "username" : "admin", "password" : "bar" }
> db.col.find({"username": "foo"})
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba0813cb574c7da6ad4ba"), "username" : "foo", "password" : "bar" }
> db.col.findOne({"username": "foo"})
{
"_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"),
"username" : "foo",
"password" : "bar"
}
> db.col.find({"username": "admin"}).pretty()
{
"_id" : ObjectId("5f1ba08b3cb574c7da6ad4bb"),
"username" : "admin",
"password" : "bar"
}
> db.col.find({"username": "foo"}, {"_id": 0})
{ "username" : "foo", "password" : "bar" }
{ "username" : "foo", "password" : "bar" }
> db.col.find({"username": "foo"}, {"username": 1}) // _id默認返回
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo" }
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4ba"), "username" : "foo" }
條件操作符
{ <key>: <value> } // 等于
{ <key>: { $lt: <value> } } // 小于
{ <key>: { $lte: <value> } } // 小于或等于
{ <key>: { $gt: <value> } } // 大于
{ <key>: { $gte: <value> } } // 大于或等于
{ <key>: { $ne: <value> } } // 不等于
AND條件
db.collection.find({ key1: value1, key2: value2 })
> db.col.find({"username": "foo", "password": "bar"})
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba0813cb574c7da6ad4ba"), "username" : "foo", "password" : "bar" }
OR條件
db.collection.find({ $or: [{ key1: value1 }, { key2: value2 }] })
> db.col.find({$or:[{"username": "foo"}, {"password": "bar"}]})
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba0813cb574c7da6ad4ba"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba08b3cb574c7da6ad4bb"), "username" : "admin", "password" : "bar" }
$type操作符
基于BSON類型檢索集合中匹配的數(shù)據(jù)類型,并返回結(jié)果
MongoDB支持類型有:double(1)幸海、string(2)祟身、object(3)、array(4)物独、binData(5)袜硫、objectId(7)、bool(8)挡篓、date(9)婉陷、null(10)、regex(11)官研、javascript(13)秽澳、symbol(14)、javascriptWithScope(15)戏羽、int(16, 32-bit integer)担神、timestamp(17)、long(18, 64-bit integer)始花、decimal(19, Decimal128, new in version 3.4)妄讯、minKey(-1)、maxKey(127)
> db.col.find({"username": {$type: "string"}})
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba0813cb574c7da6ad4ba"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba08b3cb574c7da6ad4bb"), "username" : "admin", "password" : "bar" }
> db.col.find({"username": {$type: 2}})
{ "_id" : ObjectId("5f1b9c103cb574c7da6ad4b9"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba0813cb574c7da6ad4ba"), "username" : "foo", "password" : "bar" }
{ "_id" : ObjectId("5f1ba08b3cb574c7da6ad4bb"), "username" : "admin", "password" : "bar" }
limit()方法
db.collection.find().limit(number)
讀取指定數(shù)量的文檔
> db.col.find()
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6ccf"), "num" : 1, "name" : "Alpha" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd3"), "num" : 5, "name" : "Echo" }
> db.col.find().limit(2)
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6ccf"), "num" : 1, "name" : "Alpha" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }
skip()方法
db.collection.find().skip(number)
跳過指定數(shù)量的文檔
> db.col.find()
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6ccf"), "num" : 1, "name" : "Alpha" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd3"), "num" : 5, "name" : "Echo" }
> db.col.find().skip(2)
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd3"), "num" : 5, "name" : "Echo" }
> db.col.find().limit(3).skip(1)
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
> db.col.find().skip(1).limit(3)
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
sort()方法
對數(shù)據(jù)進行排序
db.collection.find().sort({ key: number })
key指定排序字段亥贸,number指定排序方式,1為升序浇垦,-1為降序
> db.col.find().sort({"num": -1})
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd3"), "num" : 5, "name" : "Echo" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6ccf"), "num" : 1, "name" : "Alpha" }
> db.col.find().sort({"num": -1}).skip(1).limit(3)
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd2"), "num" : 4, "name" : "Delta" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd1"), "num" : 3, "name" : "Charlie" }
{ "_id" : ObjectId("5f1bc98fed3b7aae0bdc6cd0"), "num" : 2, "name" : "Bravo" }