wendtry 此查询,返回查找为空

db.getCollection('tests').aggregate([
    {$match: {typet:'Req'}},
    {$project: {incharge:1}},
    {$lookup:{
            from: "users",
            localField: "incharge", //this is the _id user from tests
            foreignField: "_id", //this is the _id from users
            as: "user"
    }}
])

返回json

  [
    {
        "_id": "57565d2e45bd27b012fc4db9",
        "incharge": "549e0bb67371ecc804ad23ef",
        "user": []
    },
    {
        "_id": "57565d2045bd27b012fc4cbb",
        "incharge": "549e0bb67371ecc804ad21ef",
        "user": []
    },
    {
        "_id": "57565d2245bd27b012fc4cc7",
        "incharge": "549e0bb67371ecc804ad24ef",
        "user": []
    }
]

我试着写这篇文章,但什么也没发生

UPDATE

这是"用户"文档

    {
        "_id" : ObjectId("549e0bb67371ecc804ad24ef"),
        "displayname" : "Jhon S."
    },
    {
        "_id" : ObjectId("549e0bb67371ecc804ad21ef"),
        "displayname" : "George F."
    },
    {
        "_id" : ObjectId("549e0bb67371ecc804ad23ef"),
        "displayname" : "Franc D."
    }

推荐答案

我最终找到了解决方案,就是我在mongoose中的模式与ObjectId之间存在问题

我改变这个

var Schema = new Schema({
    name: { type: String, required: true},
    incharge: { type: String, required: true},
});

用这个

var Schema = new Schema({
    name: { type: String, required: true},
    incharge: { type: mongoose.Schema.ObjectId, required: true},
});

而且正在工作

Mongodb相关问答推荐

在一个视图中连接两个集合MongoDB;展开有什么作用?

MongoDB聚合:将文档列表转换为列表

如何在MongoSH中的现有文档中插入字段

在MongoDB集合中按文档内的频率对数组排序

@DynamicPropertySource 未被调用(Kotlin、Spring Boot 和 TestContainers)

聚合 $accumulator + $project

如何将以下聚合查询转换为 bson 并在 golang 中执行

Mongodb按值分组并计算出现次数

Pymongo API TypeError: Unhashable dict

使用 Node.js 通过 SSL 连接到 MongoDB

Meteor 如何接收对 MongoDB 查询结果的更新?

我怎样才能更快地scrape

.NET 中的 Mongodb 单元测试

如何在我的Meteor 应用程序数据库中使用 mongoimport?

Mongoose.js 通过一个 connect() 调用创建到 MongoDB 的多个连接

如何使用 MongoDB 以编程方式预拆分基于 GUID 的分片键

MongoDb 数据库与集合

NumberLong和简单整数之间的MongoDB区别?

初创公司应该考虑哪些数据库系统?

对象不是 JSON 可序列化的