我正在Windows10上使用MongoDB v3.6.4
我有一个JSON,比如:
[ {"_id": "5a68fdc3615eda645bc6bdec", "name": "Alfio"}, ... ]我进口它时:
mongoimport --db <mydb> --collection <mycollection> --file <myfile> --jsonArray我得到的文件在我的数据库在正确的位置。但是_id是一个简单的字符串。
我可以执行所有类型的查询,除了那些使用_id作为搜索参数的查询之外,也不允许使用all (它不接受字符串,甚至不接受ObjectId)。
Ids看起来像普通字符串( ObjectId("5a68fdc3615eda645bc6bdec")). _id:"5a68fdc3615eda645bc6bdec"),而在我的其他集合中,ids看起来像对象(_id:_id)。
为什么导入语句在没有分配ObjectId(s)而不是普通字符串的情况下导入了所有内容?
为什么我甚至不能用下面这样的东西来查询呢?
Model.findOne({ _id: '5a68fdc3615eda645bc6bdec'})怎样才能解决这个问题?
提前感谢
发布于 2018-07-20 10:23:49
在导入第二个集合时尝试使用此方法,然后这两个集合都将具有对象id而不是_id。
{
"_id" : {"$oid":"5a68fdc3615eda645bc6bdec"}
}https://stackoverflow.com/questions/51439955
复制相似问题