mongo db에서 SQL과 같은 컬렉션의 문서를 선택할 수 있습니다.
SELECT * FROM collection WHERE _id IN (1,2,3,4);
또는 내가있는 경우 _id array
하나씩 선택하고 array/object
결과 를 재구성해야 합니까?
답변:
쉬움 :)
db.collection.find( { _id : { $in : [1,2,3,4] } } );
출처 : http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24in
O(log(n) * m)
경우 n
컬렉션의 크기와 m
ID의 수는 전달입니까?
당신이 사용자와도 조건 같은 다른 분야에서 찾으려는 경우, 당신은 쉽게 확산 및 삼항 연산자 사용에 아래처럼 할 수 aggregate
및match
const p_id = patient_id;
let fetchingReports = await Reports.aggregate([
...(p_id
? [
{
$match: {
createdBy: mongoose.Types.ObjectId(id),
patient_id: p_id,
},
},
]
: [
{
$match: {
createdBy: mongoose.Types.ObjectId(id),
},
},
이것은 mongo 쿼리와 관련이 없습니다. 저는 SQL에 익숙했고 Studio3T IDE를 사용하여 SQL을 사용하여 mongo 데이터베이스를 쿼리했습니다. 당신이 나와 같은 사람이라면 id 값을 형변환해야한다는 점을 지적하고 싶습니다. 따라서 쿼리는 다음과 같습니다.
SELECT _id from <collectionName>
WHERE _id = ObjectId("5883d387971bb840b7399130");