0

我习惯于使用 firebase,我可以像这样通过从数据库中获取数据来直接访问文档。

db.collection('collectionName/documentID').get();

我似乎找不到任何关于在 mongodb 中做类似事情的文档。我是否必须使用查找查询从 mongodb 中获取数据或者我错过了什么?谢谢

4

3 回答 3

0

由于 mongo consolse 是一个交互式 javascript shell,一种方法是创建一个类似的方法:

function collectionNameGet(idToFind) {
  return db.collection.find({_id: idToFind });
}
于 2019-02-13T15:48:59.493 回答
0

在 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进行一些基本查询

于 2019-02-13T15:37:24.727 回答
0

我在想

const collection = db.collection('collectionName');
collection.findOne({_id: ObjectId('documentID'); });
于 2019-02-13T15:25:15.267 回答