【问题标题】:Loopback Find is returning EmptyLoopback Find 正在返回 Empty
【发布时间】:2019-07-03 18:11:23
【问题描述】:

数据库:Mongo 3.4+ 节点JS:v6.9.4 操作系统:Centos 7+

在mongo shell中,以下命令返回结果,

    db.processticket.find({"parentProcessID": "5978ab9f82c56ec868d0d002"})

但是,以下代码 find/findOne 返回空结果

 app.models.processticket.findOne({
                where: {"parentProcessID": "5978ab9f82c56ec868d0d002" }
            }, function(err, result) {

【问题讨论】:

  • err的值是多少?
  • 没有错误。即使通过环回资源管理器尝试,值也是空的。是因为 mongo 安全性吗?
  • 这里有同样的问题,用 id 查询 find 方法返回对象,但任何其他参数返回一个空数组,你找到任何解决方案了吗?

标签: node.js loopbackjs strongloop


【解决方案1】:

您可以在模型定义文件中使用strictObjectIDCoercion 标志。 Reference

【讨论】:

  • 用作' "options": { "validateUpsert": true, "strictObjectIDCoercion": true },......'
【解决方案2】:

请将parentProcessID 的值包装在ObjectId 函数中。由于 mongo 在 where 查询中将 Id 值保存为 ObjectId,因此您需要使用 ObjectId 函数扭曲 parentProcessID 的值。您可以在原生 mongodb 模块中找到 ObjectID 函数

const ObjectID = require('mongodb').ObjectID;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 2021-12-31
    • 1970-01-01
    • 2017-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多