gpt4 book ai didi

mongodb - 如何通过查询字符串 Restfully 实现连接

转载 作者:可可西里 更新时间:2023-11-01 09:16:59 26 4
gpt4 key购买 nike

我们的堆栈目前使用 mongoose 作为 ODBM,我想知道我究竟应该如何实现 RESTFUL 请求来确定是否填充外键(即外键 _id 属性被整个文档或部分文档替换)来自另一个集合的文档)。

我知道我可以发送类似的东西

?populate=CollectionName&populateFields=fieldsnames`

通过查询字符串,但对我来说这似乎很老套,我想知道在这种情况下什么是标准/最佳实践

最佳答案

MongoDb 没有连接。如果关联的数据足够小,那么建议嵌入文档。如果采用该方法,则可以执行这个简单的查询来检查嵌入的文档字段是否为文档。

0 < db.products.count({_id : 3, rebateProgram : { $type : 3} })

在 Mongoose 中,我认为是

0 < productModel.find({}).where({_id : 3, rebateProgram : { $type : 3} }).count()

rebateProgram : {$type : 3} 表示仅匹配带有嵌入式文档的 rebateProgram 字段。3是嵌入文档的BSON类型。

REST 风格的网址

检查文档 a 属性的 restful url 可能如下所示。

请求将是 GET,因为您正在检索一个值而不是修改任何数据。

GET: /??/:collectionName/:documentId/action

示例:

要求:

GET: /api/products/3/status?hasObject=rebateProgram

响应:

{
id: 3,
hasObject : { rebateProgram : true },
success : true,
errMsg : ""
}

但是,如果它始终是您要检查的同一个字段,那么请在响应中包含嵌入字段的状态。像这样。示例:

要求:

GET: /api/products/3/status

响应:

{
id: 3,
hasValidRebateProgram : true,
success : true,
errMsg : ""
}

更多信息:

关于mongodb - 如何通过查询字符串 Restfully 实现连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28181507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com