mongoose查询数组的问题

发布于 2022-09-05 00:56:59 字数 428 浏览 13 评论 0

我在mongoose的schema里定义了如下两个字段

var PaperSchema = new mongoose.Schema({
    projectID: []
    keywords: []
});

clipboard.png

请问应该如何查找projectID里有123的这条文档呢

Paper.find({projectID:'123})
这样写会报错,请问正确写法是什么

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

她说她爱他 2022-09-12 00:56:59
//这是数据库的已储存的文档
[ { _id: 59380a577941a634732a33c
    __v: 0,
    keywords: [ 1, 2, 3 ],
    projectID: [ 123, 456 ] },
  { _id: 59380aa93a6f20030763439
    __v: 0,
    keywords: [ 1, 2, 4 ],
    projectID: [ 123, 456 ] },
  { _id: 59380be370192984caec693
    __v: 0,
    keywords: [ 1, 2, 3 ],
    projectID: [ 123, 456 ] } ]
//这是查询代码:想要获取keywords里含有3的文档
const mongoose = require('mongoose');
const PaperSchema = new mongoose.Schema({
    projectID:[],
    keywords:[]

})
const Paper = mongoose.model('Paper',PaperSchema);

mongoose.connect('mongodb://localhost:27017/Test_DB', function(error){
    if(error) console.log('Failed to connect');
    else {
        Paper.where("keywords").in([3]).exec(function(err,docs){
            console.log(docs)        
        })
    }
});
//这是查询结果
[ { _id: 59380a577941a634732a33c6
    __v: 0,
    keywords: [ 1, 2, 3 ],
    projectID: [ 123, 456 ] },
  { _id: 59380be370192984caec6933
    __v: 0,
    keywords: [ 1, 2, 3 ],
    projectID: [ 123, 456 ] } ]

可以看出,这里和mongodb的写法是一样的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文