首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过猫鼬插入数据后,无法找到任何文档。

通过猫鼬插入数据后,无法找到任何文档。
EN

Stack Overflow用户
提问于 2018-09-17 11:07:03
回答 1查看 55关注 0票数 0

我正在与mongodb、mongoose、mongoose double和一些有关创建数据的查找查询进行斗争。

环境:

  • MongoDB: 3.6
  • 猫鼬: 4.13
  • 猫鼬-双倍: 0.0.1

我使用的是https://www.npmjs.com/package/mongoose-double,因为我实际上使用的是猫鼬4.13.x,新的@mongoosejs/double版本需要猫鼬5.x。

在将一些数据插入到MongoDB模式(使用嵌入式文档(但我不认为这是问题所在)之后,使用mongoose double dataType,就无法通过简单的查询找到相关数据。

嵌入式模式如下所示:

代码语言:javascript
复制
const mongoose = require("mongoose");
require('mongoose-double')(mongoose);
const barsSchema = new mongoose.Schema({
  val: mongoose.Schema.Types.Double
}

周围文件:

代码语言:javascript
复制
const mongoose = require("mongoose");
require('mongoose-double')(mongoose);
const foosSchema = new mongoose.Schema({
  bars: [barsSchema]
}

在通过猫鼬插入一些指数值为: 2.86530674849058e+161的数据之后

数据库看起来像:

代码语言:javascript
复制
{
    "_id" : ObjectId("5b9f86c53db736eec3cdba00"),
    "bars" : [ 
        {
            "val" : 2.86530674849058e+161
        }, 
        {
            "val" : 2.86530674849058e+161
        }, 
        {
            "val" : 3.86530674849058e+161
        }
    ]
}

所有的“瓦尔”都是双重的..。我通过RoboMongo查看了收藏品。

但是当做一个简单的:

代码语言:javascript
复制
db.getCollection('foo').find({
    'bars.val': 2.86530674849058e+161
})

什么也找不到。

如果我通过RoboMongo打开文档,然后单击编辑-> 保存(没有真正改变什么),查询就会工作,文档就会找到。

集合foo和文档看起来是一样的-并且var字段仍然是类型为double.我很困惑..。

对于如何获得更多关于这种行为的细节,有什么想法吗?

事先谢谢拉尔夫

EN

回答 1

Stack Overflow用户

发布于 2018-09-18 18:36:12

就像无边的尖..。罗博蒙戈对我的数据做了一些小的“调整”.使用robomongo显示的数据进行搜索直到将此“错误”显示数据保存到mongodb之后才能成功运行。

  • 我的应用程序保存: 2.865306748490577e+161
  • RoboMongo显示: 2.86530674849058e+161
  • 所以我和2.86530674849058e+161一起搜索,什么也没找到
  • 通过RoboMongo保存“损坏的显示”文档
  • 现在,您将使用"false“数据2.86530674849058e+161找到一些内容。

我在mongodb上打开了一些查询日志记录。

代码语言:javascript
复制
db.setProfilingLevel(2)
db.system.profile.find().pretty()

以检查保存的内容和查询的外观。这给了我最后的暗示。

帮我解决了-谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52366356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档