我习惯于使用 firebase,我可以像这样通过从数据库中获取数据来直接访问文档。
db.collection('collectionName/documentID').get();
我似乎找不到任何关于在 mongodb 中做类似事情的文档。我是否必须使用查找查询从 mongodb 中获取数据或者我错过了什么?谢谢
我习惯于使用 firebase,我可以像这样通过从数据库中获取数据来直接访问文档。
db.collection('collectionName/documentID').get();
我似乎找不到任何关于在 mongodb 中做类似事情的文档。我是否必须使用查找查询从 mongodb 中获取数据或者我错过了什么?谢谢
由于 mongo consolse 是一个交互式 javascript shell,一种方法是创建一个类似的方法:
function collectionNameGet(idToFind) {
return db.collection.find({_id: idToFind });
}
在 mongo shell 中,您可以直接获取它,如下所示:
db.st4.find({"_id" : "1234"})
结果集:
{“_id”:“1234”,“原始”:{“meas”:{“meas1”:{“数据”:“blabla”},“mesa2”:{“数据”:“foo”}}}}
或者默认 mongo id 为:
db.st1.find({"_id" : ObjectId("5c578d57ce9ba4a066ca2fa4")})
{ "_id" : ObjectId("5c578d57ce9ba4a066ca2fa4"), "name" : "只是一个名字", "users" : [ "user1", "user2" ] }
以漂亮的格式显示结果
db.st1.find({"_id" : ObjectId("5c578d57ce9ba4a066ca2fa4")}).pretty()
结果集:
{
"_id" : ObjectId("5c578d57ce9ba4a066ca2fa4"),
"name" : "Just a name",
"users" : [
"user1",
"user2"
]
}
这st4
是我在数据库中的集合名称test
,因此一旦您使用 mongo shell,请在上述查询之前执行以下步骤:
use test
db.st1.insert({"name" : "Just a name", "users" : [ "user1", "user2" ] })
然后您可以查询默认_id
生成的mongo,您可以简单地进行查询以获取集合中最近添加的文档,st1
如下所示:
db.st1.find().sort({_id:-1}).limit(1)
希望这将帮助您对mongo shell进行一些基本查询
我在想
const collection = db.collection('collectionName');
collection.findOne({_id: ObjectId('documentID'); });