我々は使用してこれを行うことができます$nin
db.companies.find();
{"_id":1, "name":"ABC Pvt Ltd", "Address":"Chennai, India"}
{"_id":2, "name":"XYZ Pvt Ltd", "Address":"Mumbai, India"}
{"_id":3, "name":"LMN Pvt Ltd", "Address":"Delhi, India"}
従業員のコレクション内の 会社の属性が企業の文書IDを指し、私たちは3つのレコードを持つ従業員にコレクションを持ってみましょう私たちは3つのレコードを
と会社のコレクションを持ってみましょうコレクションには、会社1と2の従業員があります。
db.employees.find();
{"_id":1, "firstname":"X", "lastname":"Y", "company":1}
{"_id":2, "firstname":"A", "lastname":"B", "company":1}
{"_id":2, "firstname":"Z", "lastname":"A", "company":2}
rem従業員のいない会社を育てるには、まず従業員を持つ会社を探す必要があります。複数のエントリを回避するために、私たちは今、私たちは今、私たちは検索クエリを実行した場合、従業員に
db.companies.remove({"_id":{$nin : db.employees.distinct("company")}});
を持っていない企業を削除するために従業員を擁しています明確な企業と$ニンを使用しているdistinct
db.employees.distinct("company")
[ 1, 2 ]
を使ってみましょう企業のコレクションでは2つのレコードしか得られません。それは従業員
はそれが役に立てば幸いを持っていないので
db.companies.find();
{ "_id" : 1, "name" : "ABC Pvt Ltd", "Address" : "Chennai, India" }
{ "_id" : 2, "name" : "XYZ Pvt Ltd", "Address" : "Mumbai, India" }
会社3が削除されます!
http://stackoverflow.com/questions/8195190/how-to-enforce-foreign-keys-in-nosql-databases-mongodbここを見てください。 –