这是我的汇总
startsWith
结果是
xor
我想将祖先字符串转换为db.getCollection("entities").aggregate([
{$match : {...omissis..},
{$project : {ancestors : 1}},
{$unwind: "$ancestors"}]);
。
我做了很多测试,我的最后一个是添加这个管道
{
"_id" : ObjectId("5b855ffb17285c29501dd801"),
"ancestors" : "5c62ef9b8521e37b80517583"
},
{
"_id" : ObjectId("5b8537d3571c4f3e3c0dcf54"),
"ancestors" : "5c75565b3e44853a18cc9d11"
}
我所做的每项测试都存在相同的错误
错误:无效的对象ID:长度:
祖先字符串是有效的ObjectId
,我不知道如何解决此错误。
我知道Mongodb 4.0中有一些新命令,但该项目仍使用3.4.15。
答案 0 :(得分:1)
我使用cursor
和javascript
实现了这一目标。请尝试
db.getCollection("entities").aggregate([
{$match : {...omissis..},
{$project : {ancestors : 1}},
{$unwind: "$ancestors"}]).forEach(function(doc){
doc.ancestors = ObjectId(doc.ancestors)
print(doc);
})