通过ID直接访问文档

时间:2019-02-13 15:19:44

标签: mongodb mongodb-atlas mongodb-stitch

我曾经使用过Firebase,可以通过这样从db获取数据来直接访问文档。

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

我似乎找不到任何有关在mongodb中执行类似操作的文档。我是否必须使用查找查询从mongodb中获取数据,或者我错过了什么?谢谢

3 个答案:

答案 0 :(得分:0)

我在想

const collection = db.collection('collectionName');
collection.findOne({_id: ObjectId('documentID'); });

答案 1 :(得分:0)

在mongo shell中,您可以按照以下方式直接获取它:

  

db.st4.find({“ _ id”:“ 1234”})

结果集:

{“ _id”:“ 1234”,“ raw”:{“ meas”:{“ meas1”:{“ data”:“ blabla”},“ mesa2”:{“ data”:“ foo”}} }

,或者默认情况下为mongo id:

  

db.st1.find({“ _ id”:ObjectId(“ 5c578d57ce9ba4a066ca2fa4”)})

{“ _id”:ObjectId(“ 5c578d57ce9ba4a066ca2fa4”),“名称”:“只是名称”,“用户”:[“ 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

上进行一些基本查询

答案 2 :(得分:0)

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

function collectionNameGet(idToFind) {
  return db.collection.find({_id: idToFind });
}