[英]How to find a particular sub-document in MongoDB?
該線程指出,在 MongoDB 的子文檔中創建_id
不是一個好主意。
子文檔數組的 Mongo _id
我在一個集合中有位置和他們的評論:
那么,找到唯一子文檔的方法是什么?
什么可以設置為review
子文檔的主鍵?
var mongoose = require('mongoose')
var openingClosingTimeSchema = new mongoose.Schema(
{
days: {type: String, required: true},
opening: String,
closing: String,
closed: {type: String, required: true}
}
)
var reviewSchema = new mongoose.Schema(
{
author: String,
rating: {type: Number, required: true, min: 0, max: 5},
reviewText: String,
createdOn: {type: Date, default: Date.now}
}
)
var locationSchema = new mongoose.Schema(
{
// 'required' keyword is for validation.
name: {type: String, required: true},
address: String,
// 'default' keyword can be with or without quotes.
// When defining multiple properties for a field, {} are required.
rating: {type: Number, default: 0, min: 0, max: 5},
facilities: [String],
// Nest 'openingClosingTimeSchema' under 'locationSchema'.
openingTimes: [openingClosingTimeSchema],
// Nest 'reviewSchema' under 'locationSchema'.
reviews: [reviewSchema]
}
)
在 MongoDB 的子文檔中創建 _id 不是一個好主意
這不是一個普遍適用的指南。
如果您需要識別數組中的子文檔,_id 字段會很有幫助(或任何其他可以提供相同功能的字段)。
如果您不需要標識子文檔,則不需要標識字段。
由於您屬於第一類,因此在您的用例中有一個 _id 字段是完全可以的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.