Не похоже, что вы можете сделать уникальные значения для всего массива, поэтому я делаю некоторую работу вокруг.Я использую $jsonSchema
следующим образом:
{
$jsonSchema:
{
bsonType:
"object",
required:
[
"status",
"users"
],
properties:
{
status:
{
enum:
[
"pending",
"accepted"
],
bsonType:
"string"
},
users:
{
bsonType:
"array",
description:
"references two user_id",
items:
{
bsonType:
"objectId"
},
maxItems:
2,
minItems:
2,
},
}
}
}
, тогда я буду использовать $all
, чтобы найти подключенных пользователей, например,
db.collection.find( { users: { $all: [ ObjectId1, ObjectId2 ] } } )