Node.js 在mongo中,是否可能有一个看起来有效但永远不可能存在的_id?
我正在为一个web应用程序进行单元测试,我想做一个测试用例,看看当有人试图获取一个永远不可能存在的mongo文档时,我的应用程序是否会发回相应的错误消息 为了提供更多的上下文,web应用程序根据mongo数据库中某些项目的_id发回有关该项目的信息。用户可以获得任何项目的_id,因为所有项目都可以公开查看 我想知道的是,是否可能有一个_id可以在数据库中查询,但它永远不可能存在 如果这是可能的,那么我可以制作一个测试用例,查询mongo db,并在每次保证的情况下发回相应的错误消息。现在,我正在使用分配给一个不再存在的项目的mongo_id 我对该id的要求是:Node.js 在mongo中,是否可能有一个看起来有效但永远不可能存在的_id?,node.js,mongodb,Node.js,Mongodb,我正在为一个web应用程序进行单元测试,我想做一个测试用例,看看当有人试图获取一个永远不可能存在的mongo文档时,我的应用程序是否会发回相应的错误消息 为了提供更多的上下文,web应用程序根据mongo数据库中某些项目的_id发回有关该项目的信息。用户可以获得任何项目的_id,因为所有项目都可以公开查看 我想知道的是,是否可能有一个_id可以在数据库中查询,但它永远不可能存在 如果这是可能的,那么我可以制作一个测试用例,查询mongo db,并在每次保证的情况下发回相应的错误消息。现在,我正在
- 1) 它需要与正常id的长度相同
- 2) 这是必须的 由与_id相同的字符组成(我假设为十六进制)
- 3) mongo分配给一个 文件
还请注意,
\u id
字段可以接受大多数任何值:字符串、数字、对象id、对象,以及您拥有的内容。除了阵列。你好,塞吉奥,谢谢你的回答。我现在已经更新了问题。在这种情况下,我更关心后者。了解mongo如何分配_id确实有助于为我的测试用例提供一个_id。我真正想要的是一个我可以在我的乳头案例中使用的_id,它总是会返回我的错误消息“一个有这个_id的项目没有。”。如果_id是由时间戳确定的,那么全零的_id应该包括这一点。@DavidOGrady“但它永远不可能存在?”-再次强调,不要混淆这两种情况。此id肯定存在(如果显式插入)。只是mongodb不会自己生成它。只是要确保您理解区别。在web应用程序中,用户在尝试创建项目时无法分配_id,因此我们不必担心_id被显式插入。谢谢你的跟进。