今天写接口的时候,想要测试一个查询操作。
但是数据库里面的数据不全,于是我自己手动填上了几条,
然后就开始测了!
嗯,不行?我的查询语句错了?对的呀!借着就是各种尝试各种失败……
最后我去看了一眼数据库,发现一个文档中的一个_id字段是我自己手动填的,是string字符串,但是我又瞄了一眼该文档其他的id,都是ObjectId(字符串)形式,我突然明白了什么……
在使用mongoose进行查询操作时,输入的id可能会被自动转化成ObjectId()形式,但是因为我数据库里面的是string形式,所以你只要是使用mongoose去查询,就永远查不到!
本文所涉及的只是经验,具体的mongoose设计层面的上述问题并没有深入去研究,只是提供给大家一个经验参考。