在使用Mongoose查询数据之前,是否必须遵循模型?

ztmd8pv5  于 2023-06-23  发布在  Go
关注(0)|答案(1)|浏览(130)

如果我想执行任何查询,我必须首先遵循一个模式的模型?如果我想查询数据库的集合,而没有模式(由集合名称调用),我该怎么做呢?
这是Mongoose document的查询示例。

const Person = mongoose.model('Person', yourSchema);

// find each person with a last name matching 'Ghost', selecting the `name` and `occupation` fields
const person = await Person.findOne({ 'name.last': 'Ghost' }, 'name occupation');
hsvhsicv

hsvhsicv1#

Connection.prototype.collection()
检索原始集合示例,如果未缓存则创建该示例。此方法返回一个围绕MongoDB Node.js驱动程序集合的瘦 Package 器。使用Collection绕过Mongoose中间件、验证和强制转换,让您直接使用MongoDB Node.js驱动程序功能。
数据库已经有一个chats集合,让我们从其中查找文档。

import mongoose from 'mongoose';
import { config } from '../../config';

async function main() {
  const db = mongoose.createConnection(config.MONGODB_URI);
  const collection = db.collection('chats');

  const cursor = await collection.find();
  const docs = await cursor.toArray();
  console.log('docs:', docs)

  await db.close();
}

main();

日志:

docs: [
  {
    _id: new ObjectId("6465d8ccf8b3b9d3c767e639"),
    users: { '6465d8ccf8b3b9d3c767e63a': [Object] },
    __v: 0
  }
]

软件包版本:

"mongoose": "^7.2.1"

相关问题